繁体   English   中英

不支持协议“net.tcp”

[英]Protocol 'net.tcp' is not supported

我正在将我的 wcf 托管从 Windows 服务更改为托管在 IIS 中。

我在我的解决方案中添加了 wcf 服务应用程序,并添加了对我的项目的引用并将 svc 文件编辑为此

<%@ ServiceHost Language="C#" Debug="true"
Service="EFG.Acc.CashService.ServiceFactory.CashService" %>

然后我配置了web.config并定义了绑定,这些绑定将是 netTcp 绑定和端点。

我已启用我的 IIS 网站设置以启用协议到 http.nettcp 和相同的异常。

浏览我的 service.svc 文件时遇到此异常:

**protocol 'net.tcp' is not supported. 
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 
Exception Details: System.InvalidOperationException: The protocol 'net.tcp' is not supported.
Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.  
Stack Trace: 
[InvalidOperationException: The protocol 'net.tcp' is not supported.]
   System.ServiceModel.Activation.HostedTransportConfigurationManager.InternalGetConfiguration(String scheme) +98668
   System.ServiceModel.Activation.HostedAspNetEnvironment.GetBaseUri(String transportScheme, Uri listenUri) +24
   System.ServiceModel.Channels.TransportChannelListener.OnOpening() +12200164
   System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) +274
   System.ServiceModel.Channels.DelegatingChannelListener`1.OnOpen(TimeSpan timeout) +112
   System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) +318
   System.ServiceModel.Dispatcher.ChannelDispatcher.OnOpen(TimeSpan timeout) +72**

这是我的 Web.config 文件

<?xml version="1.0"?>
<configuration>

  <system.web>
    <compilation debug="false" targetFramework="4.0" />
  </system.web>

  <system.serviceModel>
    <bindings>
      <netTcpBinding>
        <binding name="NetTcpBinding"
                 transactionFlow="true"
                 listenBacklog="100"
                 maxConnections="5000"/>
      </netTcpBinding>
    </bindings>
    <services>
      <service name="EFG.Acc.CashService.ServiceFactory.CashService">
        <endpoint address="net.tcp://localhost:8000" binding="netTcpBinding"
          bindingConfiguration="NetTcpBinding" name="netTcpEndPoint" bindingName="CashServiceTCP"
          contract="EFG.Acc.CashService.Contracts.Interfaces.ICashService" />
        <host>
          <baseAddresses>
            <add baseAddress="http://localhost:7000"/>

          </baseAddresses>
        </host>

      </service>
    </services>
    <protocolMapping>
      <add scheme="net.tcp" binding="netTcpBinding" bindingConfiguration="NetTcpBinding"/>
    </protocolMapping>
    <behaviors>
      <serviceBehaviors>
        <behavior>
           <!--To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment--> 
          <serviceMetadata httpGetEnabled="true"/>
           <!--To receive exception details in faults for debugging purposes, set the value below to true.  Set to false before deployment to avoid disclosing exception information--> 
          <serviceDebug includeExceptionDetailInFaults="false"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <client>
      <endpoint address="net.tcp://localhost:8000/CashService" binding="netTcpBinding" bindingConfiguration="NetTcpBinding" contract="EFG.Acc.CashService.Contracts.Interfaces.ICashService" name="CashServiceTCP2" />
    </client>
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />

  </system.serviceModel>
  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
  </system.webServer>

</configuration>

尝试仔细阅读: http : //blogs.msdn.com/b/james_osbornes_blog/archive/2010/12/07/hosting-in-iis-using-nettcpbinding.aspx

+

  • 您正在使用 nettcpbinding 和 http baseAddress

  • 测试时添加元数据端点

  • 我多次使用 nettcp 与 IIS 绑定,每次都没有“protocolMapping”

  • 我建议只在 baseAddress 中使用绝对地址(匹配协议 net.tcp://!)和相对地址 - 在端点地址中

暂无
暂无

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

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