背景:我們有一個服務安裝在已經開始無法調用外部Web服務的遠程站點上。據現場的網絡\支持工程師沒有代理應該是必需的,但試圖執行的WebRequest返回一個異常時:WebRequest.Proxy - 什麼是默認值
System.Net.WebException: The remote server returned an error: (407) Proxy Authentication Required.
唯一的例外是相對不言自明的,但看代碼,沒有代理在對WebRequest的調用中指定,並且沒有代理在app.config文件中定義。
參照MSDN文檔WebRequest.Proxy:「該IWebProxy對象,以便代理請求的默認值是通過調用GlobalProxySelection.Select屬性設置」
,然後提到了GlobalProxySelection.Select的文檔:
「獲取或設置全局HTTP代理。」
並且GlobalProxySelection.Select沒有在應用程序的任何位置設置,默認值來自哪裏?還有其他全局配置文件可以設置全局HTTP代理嗎?
但關鍵是我根本不想使用代理。但是由於某種原因,它似乎默認爲代理服務器,我無法找到它嘗試使用代理服務器的位置或原因。 – mutex
檢查您的Windows網絡設置,或者如果您在辦公網絡上,請諮詢您的系統管理員。你所有的互聯網連接都通過代理嗎? – lahsrah
系統管理員說有一個規則,以便對這個特定的Web服務的調用不需要代理;事實上,如果我關閉IE中的代理並瀏覽到Web服務,它會按預期加載。在C#服務中,在代碼中沒有設置代理,在app.config中沒有設置代理,在machine.config中沒有設置代理。所以我很困惑,爲什麼它試圖使用代理。 – mutex