2011-07-01 14 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 ?)私は、パブリックIPが必要な場合

+0

私は最初にプロキシにアクセスする必要があります;)それはtryキャッチと再試行でそれをラップするのと同じではないでしょうか? –

関連する問題