Я пытаюсь настроить службу WCF использовать net.tcp через IIS 7.Как настроить WCF Net.Tcp
Здесь ошибка я получаю:
Там не было конечной точкой прослушивания на net.tcp: //127.0.0.1: 8000/ListingService , который может принять сообщение. Это часто вызвано неправильным адресом или действием SOAP. См. InnerException, если присутствует, для получения более подробной информации.
Вот код, который я называю от клиента:
using (var client = new ListingServiceClient("NetTcpBinding"))
{
client.Test();
client.Close();
}
Вот моя услуга web.config - http://pastebin.com/3S8BZbup
<system.serviceModel>
<bindings>
<netTcpBinding>
<binding portSharingEnabled="true">
<security mode="None" />
</binding>
</netTcpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior name="default">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
<!--throttle service-->
<serviceThrottling
maxConcurrentCalls="10000"
maxConcurrentSessions="10000"
maxConcurrentInstances="10000" />
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service behaviorConfiguration="default" name="Housters.Services.ListingService">
<endpoint name="TcpEndpoint"
address="net.tcp://127.0.0.1:8000/ListingService"
binding="netTcpBinding"
contract="Housters.Services.IListingService" />
</service>
</services>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
А вот мой клиент app.config - http://pastebin.com/YpiAhh46
<system.serviceModel>
<bindings>
<netTcpBinding>
<binding name="NetTcpBinding">
<security mode="None"/>
</binding>
</netTcpBinding>
</bindings>
<client>
<endpoint
address="net.tcp://127.0.0.1:8000/ListingService"
binding="netTcpBinding" bindingConfiguration="NetTcpBinding"
contract="ListingServiceProxy.IListingService" name="NetTcpBinding" />
</client>
</system.serviceModel>
Любой идентификатор EAS?
Следует также упомянуть, что я добавил net.tcp в протоколы с поддержкой iis и добавил привязку для net.tcp - «8000: *». – Justin
Не уверен, что это проблема, но я заметил, что вы не устанавливаете свойство 'bindingConfiguration' в конечной точке« TcpEndpoint ». и у вас нет 'name', установленного в' netTcpBinding'. – vlad
Мы смотрим на тот же код? На конечной точке tcp я устанавливаю bindingConfiguration: bindingConfiguration = "NetTcpBinding". Я также устанавливаю имя в netTcpBinding:. Дайте мне знать, если я не понимаю. –
Justin