我使用的绑定NetTcpBinding(通过互联网),所有并发的东西和maxconnection设置为高值(4000最大连接,并发,等等),所以节流设置真的很高,事实上从服务器的wcf性能计数器,我可以看到没有一个并发计数器是满的,但是...但我经历了一个超时噩梦描述如下:WCF NetTcpBinding超时问题 - 奇怪的行为
“超时只是定义了等待服务真正失败并给出错误所需的时间,但修改此超时的值对成功的可能性没有影响。基本上,在服务请求的第一秒内发生了一些事情,它永远不会恢复,WCF不会奇迹般地重试网络rk连接为你。很好,有时建立网络连接并不好。但是,如果您的超时时间为2小时,则必须等待2个小时,否则它将无法工作,然后它才会最终确认它不起作用并且会出错。“
我从上述说明中this thread这正是我遇到的问题
操作员每天做同样的操作一千次和几千次,有时他们会超时错误,即使他们可以快速执行相同的操作后没有任何延迟,同时有人正在获取超时,在与另一个客户端实例在同一台计算机上,他们可以进行调用并且速度很快!并且检查服务器端的错误没有记录在服务实现中,存储在数据库中,所以e方法从来没有被请求调用过,所以我在调用初始化过程中绝对考虑了一些错误,可能是身份验证,标记化,压缩或其他层次的错误,但是我找不到任何血腥的错误消息(也许启用wcf跟踪?)。
无论如何,事实是,我们得到了与传统的ASP客户端服务器请求一样的传统ASP编写的旧软件,并且这个问题从未发生,如果我们谈论的是同一个互联网连接,那么我不得不思考?当出现一些错误时,Internet Explorer会让事情变得神奇吗? WCF得到了一些我可以设置的隐藏配置来改善这种行为?我可以说的是,我试图在WsHttpBinding中配置我们的wcf服务,并且这种超时接缝永远不会发生,即使我们仍然收到一些错误,但即时连接立即释放,即使连接相当与tcp连接相同,因为默认情况下wshttpbinding被配置为keepalive tcp频道,但我仍然不明白为什么与tcp我得到这种超时。
如果有人能帮助我,我会非常感激!
谢谢!
“我们得到了写在传统的ASP与正常的HTTP客户端 - 服务器请求的同旧的软件” ......不,你不知道。你可能有一个经典的ASP应用程序,它可以模拟相同的业务流程或不是什么,但它不是同一个软件。 ASP和.NET是拥有共同祖先IMO的两种不同的鸟类。 – Tim
是的,我知道这是不同的软件,但我的意思是说,通过http请求使用互联网,没有任何问题使用浏览器作为互联网浏览器 –