WCF双工服务 - .Net框架错误

时间:2015-11-20 22:02:09

标签: wcf

我正在尝试创建IIS 7中托管的双工WCF服务。

我在IIS中设置了服务,当在浏览器中导航到页面时,我可以看到WSDL信息。

当我从我的应用程序运行它时,我得到:

您曾尝试为不支持.Net Framing的服务创建频道。您可能遇到HTTP端点。

在IIS中,我执行了以下操作:

  1. APP POOL:ASP.NET 4.0 BINDINGS:
  2. http::8026:,net.tcp:8026: ENABLED
  3. 协议:http,net.tcp
  4. 这是Web.Config

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <appSettings>
        <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
      </appSettings>
    
        <system.web>
        <compilation debug="true" />
      </system.web>
    
      <system.serviceModel>
        <services>
    
          <service name="InfoGov.Service.InfoGovService">
            <endpoint binding="netTcpBinding" 
                      contract="InfoGov.Service.IInfoGovService">
            </endpoint>
            <endpoint address="mex" 
                      binding="mexTcpBinding" 
                      contract="IMetadataExchange" />
          </service>
    
        </services>
    
          <behaviors>
          <serviceBehaviors>
            <behavior>
              <serviceMetadata httpGetEnabled="True" 
                               httpsGetEnabled="True"/>
              <serviceDebug includeExceptionDetailInFaults="False" />
            </behavior>
          </serviceBehaviors>
        </behaviors>
    
    </system.serviceModel>
    </configuration>
    

    以下是客户端配置:

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        <configSections>
        </configSections>
        <startup> 
            <supportedRuntime version="v4.0" 
                              sku=".NETFramework,Version=v4.5" />
        </startup>
        <system.serviceModel>
    
          <bindings>
            <netTcpBinding>
              <binding name="NetTcpBinding_IInfoGovService" />
            </netTcpBinding>
          </bindings>
    
          <client>
            <endpoint address="net.tcp://localhost:8026/Service.svc" 
                      binding="netTcpBinding"
                      bindingConfiguration="NetTcpBinding_IInfoGovService" 
                      contract="InfoGovProxy.IInfoGovService"
                      name="NetTcpBinding_IInfoGovService">
              <identity>
                <servicePrincipalName value="host/localhost" />
              </identity>
            </endpoint>
          </client>
    
        </system.serviceModel>
    </configuration>
    

    我已用Google搜索此错误消息。关于它的内容并不多,我看了或尝试了一些结果但没有成功。

    有人能看到这里有什么问题吗?

    由于

1 个答案:

答案 0 :(得分:1)

http :: 8026:,net.tcp:8026:ENABLED

有同样问题的讨论。 https://social.msdn.microsoft.com/Forums/vstudio/en-US/c657ba19-5a0f-4cd6-962b-bfee69bdffad/does-not-support-net-framing?forum=wcf

对于解决方案,尝试为http和net.tcp协议设置不同的端口