C# SoapHttpClientProtocol连接问题的疑难解答
在生产服务器上使用SOAP客户端时,我会超时:C# SoapHttpClientProtocol连接问题的疑难解答,c#,webservice-client,C#,Webservice Client,在生产服务器上使用SOAP客户端时,我会超时: System.Net.WebException: The request timed out at System.Net.HttpWebRequest.GetRequestStream () [0x00000] in <filename unknown>:0 at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke (System.String method_
System.Net.WebException: The request timed out
at System.Net.HttpWebRequest.GetRequestStream () [0x00000] in <filename unknown>:0
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke (System.String method_name, System.Object[] parameters) [0x00000] in <filename unknown>:0
System.Net.WebException:请求超时
位于:0中的System.Net.HttpWebRequest.GetRequestStream()[0x00000]处
在System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(System.String方法_名称,System.Object[]参数)[0x00000]中:0
当尝试从该计算机ping另一个端点时,它可以工作,即使telnet ping到端口80也可以工作,所以这不是一个连接问题(我认为)
同样的代码在另一台计算机上也可以正常工作,只是生产计算机遇到了这个问题。任何关于如何解决此问题的想法?您可以启用,将跟踪日志附加到问题中会很有帮助。好的,最终解决了此问题,16个小时后,这就是我想到的。这很奇怪,很复杂,很奇怪,它为后人留下了一篇文章: 第1步: 创建一个web项目,该项目引用一个类库,该类库引用npgsql.dll(该类库反过来引用Mono.Security.dll)。在web项目中添加webservice引用,并在某些页面中使用它 SOAP客户端现在工作正常 第2步:(隔离过程耗时10小时) 在引用的类库中添加Class1.cs,并使该类使用npgsql.dll中的类,然后在web项目中使用该类,但使用从未使用过代码的地方 SOAP客户端现在因超时而崩溃 从未被调用的代码怎么可能在16个小时的大部分时间里改变SOAP客户端的行为呢 回答 从npgsql.dll引用类时(即使从未调用代码),npgsl.dll和Mono.Security.dll都会复制到bin文件夹中 由于一些未知的原因,Mono.Security.dll阻止SOAP客户端进行未经认证的连接 只需从bin文件夹中删除Mono.Security.dll即可立即修复该问题 我不知道为什么需要Mono.Security.dll,也不知道它是怎么搞砸SOAP的,也不知道为什么我可以从bin文件夹中删除它,让一切都正常运行 这就是我很久以来见过的最奇怪的虫子的故事