0

我在 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 框架的服务创建通道。您可能会遇到 HTTP 端点。**

4

1 回答 1

0

正如 shabulator 所说,您需要启用非 http 服务激活器。如果遇到此问题的任何人都不清楚,这是您需要打开的 Windows 功能。

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

Windows 功能对话框

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

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

C:\Windows\Microsoft.NET\Framework\v4.0.30319>aspnet_regiis -iru

于 2014-04-14T10:22:55.297 回答