我会尽力解释我遇到的问题。我正在开发一个旧的WCF服务,最近更新到.Net 4.0。从3.5升级打破了服务 - 基本上,即使服务响应,服务也会超时。经过几个小时的调试,我结束了web.config中的罪魁祸首是aspNetCompatibilityEnabled="true"
。当WCF服务访问HttpContext.Current
对象时,这是必需的。
如果我将值设置为false,导航到.svc会快速响应(导航到wsdl),并且我可以使用测试客户端进行连接(尽管它因为服务需要访问{{ 1}}正常工作)。但是,如果我根据需要将设置设置为true,导航到服务会显示标准的.Net服务页面,但是它会继续加载,就像流未关闭一样,直到最后我得到Firefox的“连接被重置“错误。 Firebug显示的返回大小为0字节,即使单击响应的“HTML”选项卡显示它正在返回某些内容,并且fiddler旋转直到达到504错误。
该服务以HttpContext
为装饰。这在升级到.Net 4.0之前有效。
我想我在寻找这个问题的答案时已经到了互联网的终点。我已经尝试过任何博客提供的每个解决方案。我已启用跟踪,并且生成的跟踪文件未显示任何错误,并且事件查看器中没有条目。
在开发服务器(Windows Server 2003(x86)+ iis6)和生产服务器(Windows Server 2003 64位+ iis6)上都会出现这种情况。我附上了一个屏幕截图,显示服务帮助页面确实出现但仍继续旋转。
所有客户端都出现超时错误,无法使用该服务。非常感谢所有帮助!