我的情况如下:
我有一个WCF服务充当客户端和实际处理请求的内部WCF服务之间的代理。此服务托管在IIS 7中。
我已经为我的项目添加了一个服务引用,并将绑定和端点配置数据包含到我的web.config中。内部服务提供两个绑定:basicHttpBinding和netTcpBinding。 如果我使用basicHttpBinding,一切都按预期工作。但是,使用netTcpBinding会导致可怕的错误消息:
“套接字连接已中止。这可能是由于处理消息时出错或远程主机超出接收超时或基础网络资源问题引起的。本地套接字超时为'00:09: 59.9979996' 。“
内部异常文本:“远程主机强行关闭现有连接”。
使用我创建的一个小测试程序,我可以使用net.tcp成功连接到后端服务,所以我猜问题必须在于我的服务由IIS托管。我已经在IIS配置中启用了net.tcp协议。要明确的是,问题不是在IIS中托管 net.tcp服务,而是从IIS中运行的服务访问。
我知道我必须在这里遗漏一些东西,希望你们其中一个能指出我正确的方向:)
答案 0 :(得分:1)
我的第一个想法:您的内部服务器上未启用Port sharing。
如果这不能解决您的问题,您可以在服务的两端配置system.serviceModel diagnostics以获取更多错误详细信息...