给出一个总体概述 - 我有一个WCF服务具有多个绑定。一个是HTTPS绑定,另一个是net.tcp。该服务托管在IIS上。 HTTPS绑定似乎工作正常,但我有TCP绑定随机超时错误。使用WCF net.tcp绑定时发生随机超时错误
发送给XXX的此请求操作在配置的超时(00:05:00)内未收到回复。分配给此操作的时间可能是超时时间的一部分。这可能是因为该服务仍在处理该操作,或者因为该服务无法发送回复消息。请考虑增加操作超时(通过将通道/代理强制转换为IContextChannel并设置OperationTimeout属性)并确保该服务能够连接到客户端
我可以清楚地看到问题是超时问题,但它总是不会发生。困扰我的唯一原因是我的任何操作都不需要5分钟就完成。我实际上可以看到我希望在屏幕上看到的结果,这让我认为我的流程已结束。但是当我开始下一个过程时,当我意识到我的“服务处于完全状态”并且返回时发现这个错误时,我得到了这个超时。
有人能告诉我发生了什么吗?我认为错误与TCP协议的工作方式有关,因为我没有在HTTPS中找到它。对服务的同一个调用都会产生这个错误。这是非常随机的。
我使用TCP来获得性能提升与二进制编码XML格式,但所有这些随机问题我质疑,如果我真的获得任何优势。平均而言,HTTPS在我所有的呼叫中差不多慢了一秒,这在TCP的性能方面会被认为是一个很好的收益,但是像这样的问题真的值得去使用TCP路由吗?对两种方案进行一些比较对我来说也是一个很好的见解。
谢谢
你有踪迹吗?可能会让你对发生的事情有所了解。 http://msdn.microsoft.com/en-gb/library/ms732023.aspx – Nik 2013-03-01 16:49:51
@Nik:我目前正在运行一个跟踪,但错误似乎并没有发生。我会有点耐心等待出现错误,这将帮助我抓住它。 – Ron 2013-03-01 17:07:05
更新:运行跟踪不起作用。错误是如此的间歇以至于我的日志文件已经超过了100MB,但是我仍然没有发现这种情况。我所有的服务电话都需要不到1秒的时间来处理。 – Ron 2013-03-01 18:16:41