Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# SoapHttpClientProtocol连接问题的疑难解答_C#_Webservice Client - Fatal编程技术网

C# SoapHttpClientProtocol连接问题的疑难解答

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_

在生产服务器上使用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_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文件夹中删除它,让一切都正常运行

这就是我很久以来见过的最奇怪的虫子的故事