1

给出一个总体概述 - 我有一个具有多个绑定的 WCF 服务。一个是 HTTPS 绑定,另一个是 net.tcp。该服务托管在 IIS 上。HTTPS 绑定似乎工作正常,但 TCP 绑定出现随机超时错误。

发送给 XXX 的此请求操作在配置的超时 (00:05:00) 内未收到回复。分配给此操作的时间可能是较长超时的一部分。这可能是因为服务仍在处理操作,或者因为服务无法发送回复消息。请考虑增加操作超时(通过将通道/代理转换为 IContextChannel 并设置 OperationTimeout 属性)并确保服务能够连接到客户端

我可以清楚地看到问题是超时问题,但它并不总是发生。唯一让我感到困惑的是,我的任何操作都不需要长达 5:00 分钟才能完成。我实际上可以在屏幕上看到我想看到的结果,这让我假设我的过程已经结束。但是当我开始下一个进程时,我得到了这个超时,也就是当我意识到我的“服务处于完全状态”并返回时我发现了这个错误。

有人可以告诉我发生了什么吗?我认为该错误与 TCP 协议的工作方式有关,因为我在 HTTPS 中没有找到它。Nither 对服务的相同调用总是会产生此错误。这是非常随机的。

我使用 TCP 通过二进制编码的 XML 格式来提高性能,但是我质疑所有这些随机问题是否真的获得了任何优势。在我的所有调用中,HTTPS 似乎平均慢了近一秒,这在 TCP 的性能方面被认为是一个很好的收益,但是有这样的问题,真的值得走 TCP 路由吗?对这两种协议进行一些比较对我来说也是一个很好的见解。

谢谢

4

2 回答 2

2

关于比较。TCP 是提供可靠数据传输的传输层协议。HTTPS 基于 tcp 并且有一些数据开销。我认为没有理由因为协议而导致操作完全不同。您尝试发送什么类型的数据?

于 2013-03-01T17:41:17.520 回答
0

在对网络进行了一些测试和监控后,我发现问题更多是网络问题,连接波动导致 TCP 通道中断。我还不能 100% 确定这个问题,但这是我能得出的最有希望的结论。如果有人有任何其他意见,请随时分享,以便我提高服务可靠性。

于 2013-03-06T15:33:16.277 回答