2011-07-13 69 views
1

我已經編寫了一個WinForms應用程序,用於從電子表格中上傳地址,並使用外部地理編碼服務對其進行地理編碼。這一切在我的本地計算機上都能正常工作,但現在已經到了安裝在其他人電腦上進行測試的時候了。該應用程序不再運行儘管如此,現在產生了以下錯誤:WinForm安全上下文

System.Net.WebException: The remote server returned an error: (407) Proxy Authentication Required. 

看了很多,breifly聊到我們的網絡傢伙,看來我需要的用戶帳號建立安全上下文,並與該工作糾正錯誤。

有沒有人有任何關於我應該如何去做的指點?

在此先感謝!

C

回答

0

這取決於您上傳數據的方式。如果你使用http請求(因爲它看起來像你),它會看起來像;

HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create("https://test.example.com/"); 
    req.Method = "POST"; 
    req.ContentType = "text/xml"; 

    req.Credentials = new NetworkCredential("TESTACCOUNT", "[email protected]"); 

    StreamWriter writer = new StreamWriter(req.GetRequestStream()); 
    writer.Write(input); 
    writer.Close(); 
    var rsp = req.GetResponse().GetResponseStream(); 
+0

即時通訊只使用WebRequest,但我看到你在那裏做什麼。此刻我設置了DefaultCredentials。我是否可以通過編程方式爲每個用戶指定NetworkCredentials,還是必須使用我的用戶名/密碼對其進行硬編碼,如同在您的示例中所做的那樣? – CatchingMonkey

+0

DefaultCredentials獲取當前登錄的用戶的安全上下文。從錯誤中可以看出您有權上傳該文件和一般用戶。我personaly會創建一個新的用戶帳戶的權限和密碼,不會過期,只是給它上傳文件的權限。然後,您可以在代碼中對用戶名和密碼進行硬編碼。 –

+0

願意這樣做,但我們的企業它技術愛鎖定的東西!所以我認爲新的用戶帳戶會推動它! – CatchingMonkey