2013-03-01 114 views
1

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

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

我可以清楚地看到问题是超时问题,但它总是不会发生。困扰我的唯一原因是我的任何操作都不需要5分钟就完成。我实际上可以看到我希望在屏幕上看到的结果,这让我认为我的流程已结束。但是当我开始下一个过程时,当我意识到我的“服务处于完全状态”并且返回时发现这个错误时,我得到了这个超时。

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

我使用TCP来获得性能提升与二进制编码XML格式,但所有这些随机问题我质疑,如果我真的获得任何优势。平均而言,HTTPS在我所有的呼叫中差不多慢了一秒,这在TCP的性能方面会被认为是一个很好的收益,但是像这样的问题真的值得去使用TCP路由吗?对两种方案进行一些比较对我来说也是一个很好的见解。

谢谢

+0

你有踪迹吗?可能会让你对发生的事情有所了解。 http://msdn.microsoft.com/en-gb/library/ms732023.aspx – Nik 2013-03-01 16:49:51

+0

@Nik:我目前正在运行一个跟踪,但错误似乎并没有发生。我会有点耐心等待出现错误,这将帮助我抓住它。 – Ron 2013-03-01 17:07:05

+0

更新:运行跟踪不起作用。错误是如此的间歇以至于我的日志文件已经超过了100MB,但是我仍然没有发现这种情况。我所有的服务电话都需要不到1秒的时间来处理。 – Ron 2013-03-01 18:16:41

回答

0

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

2

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