【发布时间】:2018-03-07 09:30:54
【问题描述】:
好的,我可以发泄一下吗?我对此感到恶心和厌倦。我大部分时间都在工作,WCF 服务运行良好。下次我运行我的应用程序并进行 WCF 调用时,砰! tcp 套接字不再可用。我已经搜索了高低来解决这个问题,但没有真正的解决方案。我能找到的唯一解决方案是重新启动机器,这是一个巨大的时间浪费和负担。重新启动 WPA 服务、net.tcp 服务、IIS 等并没有任何作用。注销并重新打开并不能解决它。只有重新启动才能解决此问题。除了再次运行我的应用程序进行 WCF 调用之外,我什么都不做,而这种废话就发生了。没有任何配置问题。我几个月来一直在处理这个问题,但找不到任何具体的原因或解决方案来解释为什么会发生这种情况。它发生在我的防火墙打开或关闭时,没关系。
任何人的见解?我认为 WCF / net.tcp 层中确实存在导致此问题的错误。我什至在有时进行 Web.config 更改时在生产 2008 R2 服务器上得到它,所以我学会了在更改之前停止 IIS、WPA、net.tcp 等服务,然后重新启动它们。好痛啊。
我正在使用 .NET4、VS2010、所有服务包等。一切都是最新的。
请原谅我重新启动.....
有人可以帮忙吗?
【问题讨论】:
-
您是在 IIS 中托管,还是将其作为服务或自托管应用程序运行?您是否尝试过使用
netstat或 TCP View:technet.microsoft.com/en-us/sysinternals/bb897437 之类的工具来查看端口是否正在关闭,或者是否有其他东西正在接管该端口? -
在调试此类服务时,我对 WCF 服务有过相同的体验。随机发生的情况是,您在系统无法处理的时间点停止调试会话。端口有点悬而未决,需要重新启动系统才能解决问题。投了这个,因为我很好奇这个的起源和可能的解决方案是什么......
-
这是个问题吗?它看起来更像是关于一些未知问题的悲伤故事 = 在这种情况下,最好通过工单(MS 合作伙伴)或通过 MS Connect 联系 MS 支持。
-
@Ladislav 是的,你是对的。这是可悲的。很多人似乎都经历过。也许我会打开 MS 票并报告错误。
-
一个简单的问题:如果您使用的是 Net.TCP,您是否在使用后关闭/处置您的服务客户端对象? TCP.Net 是面向连接的,与 HTTP 不同,因此您需要手动关闭连接。
标签: wcf