添加服务引用时不支持获取net.tcp

时间:2011-10-07 06:37:11

标签: wcf nettcpbinding wcf-endpoint

我在IIS中托管了我的WCF服务并配置了以下端点

    <endpoint name="MainService" contract="Docs.ICalculatorService" address="http://localhost:49495/WcfService1/service.svc" binding="wsHttpBinding">
            </endpoint>
    <endpoint name="MainTcpService"  contract="Docs.ICalculatorService" address="net.tcp://localhost:49496/WcfService1/service.svc" binding="netTcpBinding">
   </endpoint>

我在端口号49495上托管了我的WCF服务,这是真的, 现在我已经配置了另一个使用端口号49496的端点 我需要在另一个端口49496上托管此WCF服务,或者我错过了什么

查看堆栈跟踪时出现此错误

  

“net.tcp:// localhost:49495 / WcfService1 / service.svc”中的ChannelDispatcher与合同“ICalculatorService”无法打开其IChannelListener

我在IIS 7中配置了端点和配置绑定 但现在我得到一个新的错误

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

1 个答案:

答案 0 :(得分:0)

正如shabulator所说,你需要启用非http服务激活器。 如果任何人不清楚这一点,这是一个你需要打开的Windows功能。

在Windows 7上(Server 2008将类似)在控制面板下 - &gt;您将看到“打开或关闭Windows功能”的程序。这会显示一个对话框,如图所示。

Windows Features dialog

在Microsoft .NET Framework 3.5.1下,勾选两个框以安装功能。

当我这样做时,它产生了将.NET 3.5放到服务器上的副作用,我不想要,因为我使用的是更高版本。 如果发生这种情况,请打开命令提示符并转到.NET 4.0.30319文件夹并运行aspnet regiis工具。

  

C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319&gt; aspnet_regiis -iru