我有一个让我困惑的问题,分别是。我不知道它可能是什么。
我使用的系统是Windows Vista,IIS 7.0,VS2008,Windows软件工厂,实体框架,WCF。所有Web服务的绑定都是wshttpbinding。
我正在使用IIS中托管的Web服务。此Web服务使用/调用另一个Webservice(也安装在IIS中)。如果我使用客户端调用第一个Web服务(调用第二个Web服务),它可以正常工作大约4-10倍。然后(获得此问题是可重复的,但有时它发生在4之后,有时在10次之后,但它总会发生),服务和IIS卡住了。
Stuck表示此Webservice不再可调用,并在1分钟后生成超时。 即使增加超时也不会改变任何东西。
如果我尝试重新启动IIS,我会收到一个超时错误(这真让我感到困惑。似乎Web服务已经以某种方式“崩溃”并阻止了IIS的重启)。因此IIS也“卡住”(它并没有真正卡住,但我无法重启)。只有当我杀死w3wp.exe时,IIS才能重新启动,Webservice将再次运行(直到我再次多次调用此服务)。
日志文件(我不是记录日志或在何处查找/启用此类日志的专家,所以说:我是新手),如http-logging,事件查看器或WCF-Message Logging不显示关于问题根源的任何暗示。
当我使用不调用其他服务的Web服务时,我没有这个问题。 调用Web服务是通过服务引用完成的(我没有使用代理类),但我认为这应该没问题。
我不知道发生了什么,也不知道如何解决这个问题。
此致 雷
编辑。 :我希望我的帖子现在更具可读性: - )
答案 0 :(得分:0)
将System.Diagnostics.Debugger.Break()
插入您的网络服务代码。达到该点后,您将能够单步执行服务逻辑。这可以帮助您诊断死锁的原因。
另一种选择是turn on WCF Tracing,并以此方式进行诊断。