我有一个 WCF 服务在负载条件下一直给我这个错误(否则我似乎无法重新创建错误)。我们一直在尝试找到解决它大约一周的方法,但没有这样的运气......
我看到的错误有两个部分,
System.ServiceModel.CommunicationException: An error: (The request was aborted: the request was cancelled.) 在通过 http 通道传输数据时发生。
和:
System.Net.WebException:请求被中止:请求被取消。
我看到很多人建议通过重载Reference.cs
文件中的方法和设置来禁用保持活动KeepAlive = false
,但是,我们的客户端正在使用服务引用(除了 Web 引用),并且此选项不再存在。
我见过的另一个选择是向服务添加自定义绑定,而不是BasicHttpBinding
我们现在使用的,但这会妨碍那些一直使用 webReference 的人对 web 服务的向后支持(因为CustomBinding
没有启用 SOAP)。
有没有人处理过这个错误?有没有办法在不影响服务器端的情况下禁用 WCF 中的保持活动?是否还有其他已知会导致此错误的保持活动?