Webrequest不能在Windows服务中工作
问题描述:
我无法在Windows服务中使用Webrequest。它失败,错误“”无法连接到远程服务器”。Webrequest不能在Windows服务中工作
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"
}
代码工作完全正常,如果它是一个控制台应用程序。
可能有人请告诉我们,如果有一个修复?
答
您可能想要尝试在您创建的请求对象上指定proxy server当您运行控制台应用程序时,我认为系统会为您查找您的IE配置,并且可能设置了代理服务器。除了你的帐户,它可能没有代理设置。
+0
非常感谢提示!这正是我的问题 – paseena 2011-03-25 23:39:54
答
我正面临同样的问题。经过大量的R & D解决方案为我工作。
相反的:
WebResponse responseObject = requestObject.GetResponse();
我写道:
WebResponse responseObject = null;
responseObject = requestObject.GetResponse();
它工作得很好。
我也在寻找这种行为背后的确切原因。
服务在哪个用户下运行? – 2011-03-25 21:00:45
尝试作为本地系统帐户以及我的帐户运行。两者都有同样的问题。我也有硬编码我的名字和密码,并使用networkcrednetial – paseena 2011-03-25 21:18:10
PS:有一个网络代理需要认证,因此我使用网络知识 – paseena 2011-03-25 21:34:01