给出一个总体概述 - 我有一个具有多个绑定的 WCF 服务。一个是 HTTPS 绑定,另一个是 net.tcp。该服务托管在 IIS 上。HTTPS 绑定似乎工作正常,但 TCP 绑定出现随机超时错误。
发送给 XXX 的此请求操作在配置的超时 (00:05:00) 内未收到回复。分配给此操作的时间可能是较长超时的一部分。这可能是因为服务仍在处理操作,或者因为服务无法发送回复消息。请考虑增加操作超时(通过将通道/代理转换为 IContextChannel 并设置 OperationTimeout 属性)并确保服务能够连接到客户端
我可以清楚地看到问题是超时问题,但它并不总是发生。唯一让我感到困惑的是,我的任何操作都不需要长达 5:00 分钟才能完成。我实际上可以在屏幕上看到我想看到的结果,这让我假设我的过程已经结束。但是当我开始下一个进程时,我得到了这个超时,也就是当我意识到我的“服务处于完全状态”并返回时我发现了这个错误。
有人可以告诉我发生了什么吗?我认为该错误与 TCP 协议的工作方式有关,因为我在 HTTPS 中没有找到它。Nither 对服务的相同调用总是会产生此错误。这是非常随机的。
我使用 TCP 通过二进制编码的 XML 格式来提高性能,但是我质疑所有这些随机问题是否真的获得了任何优势。在我的所有调用中,HTTPS 似乎平均慢了近一秒,这在 TCP 的性能方面被认为是一个很好的收益,但是有这样的问题,真的值得走 TCP 路由吗?对这两种协议进行一些比较对我来说也是一个很好的见解。
谢谢