调用asmx web服务时出现InvalidOperationException异常
本文关键字:InvalidOperationException 异常 asmx web 服务 调用 | 更新日期: 2023-09-27 17:50:58
我有一个windows应用程序(实际上是Outlook插件),它调用asmx web服务(是的,它是遗留的,但公司不愿意放弃它& &;重新开发一切……)来获取一些数据。返回值是一个DataTable。我通过添加它作为web服务引用来调用web服务。
这对所有客户端都正常工作,但最近一个客户端报告了一个问题,调用web服务会抛出以下错误(在两个单独的调用中):
异常类型: InvalidOperationException
异常消息: XML文档中有一个错误(23,93530)。
Inner Ex类型: IOException
Inner Ex Message: cannot read data from the transport connection:一个现有的连接被远程主机强制关闭。
StackTrace: at system . xml . serialize . xmlserializer。反序列化(XmlReader XmlReader, String encodingStyle, XmlDeserializationEvents事件)在System.Xml.Serialization.XmlSerializer。反序列化(XmlReader XmlReader, String encodingStyle)在System.Web.Services.Protocols.SoapHttpClientProtocol。ReadResponse(SoapClientMessage消息,WebResponse响应,Stream responseStream, Boolean asyncall)在System.Web.Services.Protocols.SoapHttpClientProtocol。调用(String methodName, Object[] parameters)在
异常类型: InvalidOperationException
异常消息: XML文档(4426,32)中有错误。
Inner Ex类型: IOException
Inner Ex Message:操作超时。
StackTrace: at system . xml . serialize . xmlserializer。反序列化(XmlReader XmlReader, String encodingStyle, XmlDeserializationEvents事件)在System.Xml.Serialization.XmlSerializer。反序列化(XmlReader XmlReader, String encodingStyle)在System.Web.Services.Protocols.SoapHttpClientProtocol。ReadResponse(SoapClientMessage消息,WebResponse响应,Stream responseStream, Boolean asyncall)在System.Web.Services.Protocols.SoapHttpClientProtocol。调用(String methodName, Object[] parameters)在
我可以排除我的应用程序正在生成超时,因为我将web服务类的timeout属性设置为调用前2小时,并且下一个请求在大约20-30分钟内到达服务器。
查看IIS日志,所有失败的客户端请求的http状态为200,但win32-status也为995。
在过去3天的大部分时间里,我一直在试图重复这个错误,并找出为什么它没有任何成功发生的原因(我需要找到确切的原因-公司政策:(:p)。我需要知道为什么会发生这种情况,什么是解决方案或最好的变通方法。
我也在MSDN论坛上发布了这个
有谁能帮我一下吗?非常感谢任何帮助。谢谢!干杯!
您需要检查您是否达到了连接限制,并要求服务器关闭它作为对方查看网页。配置
<system.net>
<connectionManagement>
<add address="*" maxconnection="40"/>
</connectionManagement>
</system.net>