Webrequest无法在Windows服务中运行

时间:2011-03-25 20:57:34

标签: c#

我无法在Windows服务中使用Webrequest。它失败并显示错误“”无法连接到远程服务器“。

  WebRequest request = WebRequest.Create(url);
  NetworkCredential nc = new NetworkCredential("myuname","mypassword","mydomain");
  request.Proxy.Credentials = nc;

  try
  {

    HttpWebResponse response = (HttpWebResponse)request.GetResponse();
    Stream dataStream = response.GetResponseStream();
    StreamReader reader = new StreamReader(dataStream);
    string responseFromServer = reader.ReadToEnd();
  }
  catch (WebException ex)
  {
    //ex.Message is "Unable to connect to the remote server"
  }

如果它是一个控制台应用程序,代码可以正常工作。

有人可以告诉我是否有修复?

2 个答案:

答案 0 :(得分:5)

您可能想尝试在您创建的请求对象上指定proxy server。当您运行控制台应用程序时,我相信系统会为您查找您的IE配置,并且可能会设置代理。如果服务在您的帐户以外运行,则可能没有代理集。

答案 1 :(得分:-1)

我遇到了同样的问题。经过大量的R& D解决方案为我工作。

而不是:

WebResponse responseObject = requestObject.GetResponse();

我写道:

WebResponse responseObject = null;
responseObject = requestObject.GetResponse();

它工作正常。

我也在寻找这种行为背后的确切原因。