我的情况是这样的:
我有一个 WCF 服务作为客户端之间的代理和一个实际处理请求的内部 WCF 服务。此服务托管在 IIS 7 中。
我已经为我的项目添加了一个服务引用,并将绑定和端点配置数据包含在我的 web.config 中。内部服务提供两个绑定:basicHttpBinding 和 netTcpBinding。如果我使用 basicHttpBinding,一切都会按预期进行。但是,使用 netTcpBinding 会导致可怕的错误消息:
“套接字连接已中止。这可能是由于处理您的消息时出错或远程主机超出接收超时,或底层网络资源问题造成的。本地套接字超时为 '00:09:59.9979996'。”
内部异常文本:“现有连接被远程主机强行关闭”。
使用我创建的一个小型测试程序,我可以使用 net.tcp 成功连接到后端服务,所以我想问题一定出在我的服务由 IIS 托管。我已经在 IIS 配置中启用了 net.tcp 协议。需要明确的是,问题不是在 IIS 中托管net.tcp 服务,而是从 IIS 中运行的服务进行访问。
我知道我一定在这里遗漏了一些东西,希望你们中的一个可以指出我正确的方向:)