2011-03-25 62 views
3

我無法在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" 
    } 

代碼工作完全正常,如果它是一個控制檯應用程序。

可能有人請告訴我們,如果有一個修復?

+0

服務在哪個用戶下運行? – 2011-03-25 21:00:45

+0

嘗試作爲本地系統帳戶以及我的帳戶運行。兩者都有同樣的問題。我也有硬編碼我的名字和密碼,並使用networkcrednetial – paseena 2011-03-25 21:18:10

+0

PS:有一個網絡代理需要認證,因此我使用網絡知識 – paseena 2011-03-25 21:34:01

回答

5

您可能想要嘗試在您創建的請求對象上指定proxy server當您運行控制檯應用程序時,我認爲系統會爲您查找您的IE配置,並且可能設置了代理服務器。除了你的帳戶,它可能沒有代理設置。

+0

非常感謝提示!這正是我的問題 – paseena 2011-03-25 23:39:54

0

我正面臨同樣的問題。經過大量的R & D解決方案爲我工作。

相反的:

WebResponse responseObject = requestObject.GetResponse(); 

我寫道:

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

它工作得很好。

我也在尋找這種行爲背後的確切原因。

相關問題