从httpsodule调用Web服务

时间:2009-03-05 23:04:46

标签: c# asp.net web-services

我设置了一个Web服务,我试图使用Proxy类从我的httpmodule中调用它,它只会超时。我做了更多测试并尝试了WebRequest,并且也超时了。如果我指定了错误的url,它将使用404引发异常,因此似乎应该可能。从Web浏览器调用Web服务可以正常工作,这不是问题所在。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

HttpModules与其他任何代码都没有区别。如果您可以从其他任何地方执行此操作,则可以从模块执行此操作。由于您没有说明实际需要代理,我不清楚为什么在这种情况下使用Proxy类。在没有必要时尝试使用代理可能会导致超时,因为您将请求发送到不存在的网络代理。

你能不能只使用Web ReferenceWebRequest来连接服务?

答案 1 :(得分:0)

你确定你和网络服务之间没有代理服务器吗。.Net做了很好的尝试解决这个问题,但我发现很多问题让框架试图找出代理的位置。

这是一个硬编码的解决方案,虽然不是任何排序的最佳实践,但它显示了如何将代理附加到webclient请求。

WebProxy proxy = new WebProxy("111.222.333.444:8080");
proxy.Credentials = CredentialCache.DefaultCredentials;
WebClient wc = new WebClient();
wc.Proxy = proxy;
// do your other stuff

我已经注意到.Net真的很难在端口不是80并且当服务器平台没有在Internet Explorer中设置代理时,我更愿意诚实,我相信默认只是看看为本地设置什么互联网连接,但不要引用我