繁体   English   中英

IIS 7.5 / WCF-net.tcp状态未知

[英]IIS 7.5 / WCF - net.tcp status unknown

我正在尝试让我的WCF服务使用netTcpBinding而不是wsHttpBinding ,但是我似乎无法使其工作。

我将net.tcp绑定添加到IIS7.5,但是状态为Unknown( 当我还删除http绑定时,它将在站点中放置一个红色的大X,并且必须添加新的http绑定,然后我才能再次访问任何设置 )。 我已经在这里和Google上查看过,但是在没有任何实际解决方案的情况下,我只能找到两三个帖子。

我有的:

  • WAS服务正在运行,还有Net。*服务。
  • 在IIS的“高级设置”中添加了net.tcp。
  • WCF非HTTP已安装。

似乎有一个TCP侦听器正在运行,因为它在netstat中显示它正在侦听我指定的端口:809,并且我也收到了防火墙消息( 也尝试禁用防火墙/防病毒,但没有帮助 )。

WCF测试客户端导致此错误:

错误:无法从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中的几种不同设置,但最终还是遇到了相同的问题。

您是否在IIS中将net.tcp添加为已启用协议? 管理网站=>高级设置=>启用的协议(以逗号分隔)

对于遇到同样问题的人:正如我之前说过的,我将应用程序池更改为经典,但它不起作用(http也不再起作用),但是当我将其更改回并回收应用程序池时,它突然起作用了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM