繁体   English   中英

AspNetCompatibilityEnabled导致WCF超时

[英]AspNetCompatibilityEnabled causes WCF Timeout

我会尽力解释我遇到的问题。 我正在使用旧的WCF服务,最近更新为.Net 4.0。 从3.5升级破坏了该服务-基本上,该服务正在超时,即使它似乎响应迅速。 经过数小时的调试,我得出了罪魁祸首是web.config中的aspNetCompatibilityEnabled="true" 当WCF服务访问HttpContext.Current对象时,这是必需的。

如果将值设置为false,则导航到.svc会快速响应(导航到wsdl),并且我能够使用测试客户端进行连接(尽管由于服务需要访问HttpContext才能正常工作而导致连接中断) 。 但是,如果我根据需要将设置保留为true,则导航到该服务会打开标准.Net服务页面,但是它将继续加载,就像流没有关闭一样,直到最后我得到Firefox的“连接已重置”错误。 Firebug显示返回的大小为0字节,即使单击响应的“ HTML”选项卡表明它正在返回内容,并且提琴手旋转直到到达504错误。

该服务以[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]装饰。 在升级到.Net 4.0之前,这是可行的。

我想寻找这个问题的答案时已经到达了互联网的尽头。 我已经尝试过任何博客都必须提供的所有解决方案。 我已启用跟踪,并且生成的跟踪文件没有显示任何错误,并且事件查看器中没有条目。

在开发服务器(Windows Server 2003(x86)+ iis6)和生产服务器(Windows Server 2003 64位+ iis6)上均已损坏。 我已经附上了一个屏幕截图,显示了服务帮助页面的确出现了,但仍在继续旋转。

所有客户端都收到超时错误,无法使用该服务。 非常感谢所有帮助!

在此处输入图片说明

经过反复的尝试和错误,我终于弄清楚是什么原因导致了问题。 该网站正在使用Telerik Rad Controls,并且该部分中有一个旧的Telerik Compression模块条目,导致从WCF服务返回的XML格式错误。

没有引发任何错误,但是假设有更多内容出现,浏览器将继续旋转。 删除httpModules部分的条目将其清除。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM