2011-07-01 63 views
4

在家中或在工作中開發應用程序時,我需要評論代碼,該代碼將代理設置爲打開或關閉。因爲在家我在不同的網絡上工作,在家裏我不需要使用代理檢測服務器連接到的網絡的名稱

WebProxy proxy = new WebProxy(Settings.ProxyAddress, Settings.ProxyPort); 
proxy.Credentials = CredentialCache.DefaultCredentials; 
this.Proxy = proxy; 

我想將此語句包裝在確定網絡名稱的if子句中。像

if(isCorporateNetwork) {.....set proxy...}; 

我試圖檢測到它:

IPGlobalProperties.GetIPGlobalProperties().DomainName; 

但是,這會導致一個空字符串。可能因爲我的個人筆記本電腦不是域的成員(但是對網絡的訪問是通過發送我的憑據到代理授權,自己的設備被允許使用公司網絡這種方式。)

如何檢測,我連接到網絡的名稱?

回答

1

嘗試使用DNS查找您的IP地址。 (如果你有一個專用的IP,你需要通過STUN或相似,以獲得公衆)

(這只是一種不同的方法,因爲你似乎是要走的路:How to find FQDN of local machine in C#/.NET ?

+0

如果我需要一個公網IP我需要首先訪問代理服務器;)這不就像將它封裝在try catch和retry中一樣嗎? –