2014-02-21 43 views
0

我想在運行時讀取我的默認代理設置的值,但我似乎無法找到任何方式這樣做。關於如何設置默認代理(例如How to pass credentials in defaultProxy config setting?)有很多相關的答案,但我正在尋找如何閱讀這些設置。如何從web.config中的system.net部分讀取defaultProxy設置的值?

這背後的原因是我們有時會打開代理服務器,以便我們可以使用Fiddler捕獲服務器上的流量,並且我想創建一個故障保護功能,通知我是否有人在關閉後意外地將其保留在此狀態提琴手。

回答

1

我最終通過配置管理器讀取值,而不是通過System.Net.WebProxy:

var proxy = System.Web.Configuration.WebConfigurationManager.GetSection("system.net/defaultProxy") as System.Net.Configuration.DefaultProxySection 
if (proxy != null) { /* Check Values Here */ } 

DefalutProxySection類具有符合我需求的「已啓用」和「Proxy.ProxyAddress」的屬性。

0

用下面的web.config部分:

<defaultProxy useDefaultCredentials="true"> 
    <proxy usesystemdefault="False" proxyaddress="http://1.1.1.1" bypassonlocal="True" /> 
</defaultProxy> 

下面的代碼返回從Web配置代理信息:

Uri proxy = WebRequest.DefaultWebProxy.GetProxy(new System.Uri("http://www.google.com")); 
+0

謝謝,傑米。這幾乎做到了我所需要的。代理的所有屬性似乎都可用,但不清楚如何檢查代理是否已啓用。另外,這個方法不會啓動對URI的Web請求嗎? – Jay

相關問題