Я пытаюсь заставить мою службу WCF работать с netTcpBinding
вместо wsHttpBinding
, но я не могу заставить ее работать.IIS 7.5/WCF - нет.tcp статус неизвестен
Я добавил привязку net.tcp
к IIS7.5, но статус Неизвестный (и когда я также удаляю привязку http, он ставит большой красный X через сайт, и мне нужно добавить новую привязку http, прежде чем я смогу получить доступ любые настройки снова). Я уже смотрел здесь и в Google, но я мог найти только две или три сообщения об этой проблеме без каких-либо реальных решений.
Что у меня есть:
- WAS служба работает, а также услуги Net *..
- Добавлен net.tcp в дополнительных настройках в IIS.
- WCF не-http установлен.
Там, кажется, TCP слушатель работает, так как он показывает в NetStat, что он прослушивает мой указанный порт: 809), и я также получил брандмауэр сообщение (также попытался отключить брандмауэр/антивирус, но Бесполезный 't help).
WCF Тестовые результаты клиента в этой ошибки:
Error: Cannot obtain Metadata from net.tcp://localhost:809/MyService.svc
Мой Web.config (копируемый в основном из MSDN, для правильного расположения смотрите здесь http://pastebin.com/Ru8p0T9N):
<services>
<service behaviorConfiguration="MyBehavior" name="WCFService.MyService">
<endpoint address="" binding="netTcpBinding" bindingConfiguration="Binding1" name="MyServiceEndpoint" contract="WCFService.MyService">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint address="mex" binding="mexTcpBinding" bindingConfiguration="" name="MyServiceMexTcpBidingEndpoint" contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="net.tcp://localhost:809/MyService.svc" />
</baseAddresses>
</host>
</service>
</services>
<behavior name="MyBehavior">
<serviceMetadata httpGetEnabled="false" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
<netTcpBinding>
<binding name="Binding1"hostNameComparisonMode="StrongWildcard"sendTimeout="00:10:00"maxReceivedMessageSize="65536"transferMode="Buffered"portSharingEnabled="true">
<security mode="Message">
<transport clientCredentialType="None" />
<message clientCredentialType="None" />
</security>
</binding>
</netTcpBinding>
Все отлично работает с wsHttpBinding
но не с net.tcp
. Я попробовал несколько разных настроек в Web.config из нескольких источников, но я все время сталкиваюсь с той же проблемой.
Вы проверили все изломы в следующей статье: http: //www.codegain.com/articles/wcf/howto/hosting-wcf-service-with-nettcpbinding-on-iis7.aspx – AvkashChauhan
Спасибо за ссылку , Я положил пул приложений в классическом режиме (раньше этого не было), но по-прежнему та же ошибка. –