检测服务器所连接的网络的名称

时间:2011-07-01 06:18:06

标签: c# .net

在家中或工作中开发应用程序时,我需要评论设置代理开启或关闭的代码。因为在家里我在不同的网络而不是工作,在家里我不需要使用代理

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

我想将此语句包装在确定网络名称的if子句中。像

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

我试图用以下方法检测它:

IPGlobalProperties.GetIPGlobalProperties().DomainName;

但结果是一个空字符串。可能是因为我的个人笔记本电脑 不是域的成员。 (但是,通过将我的凭据发送到代理来授予对网络的访问权限,允许自己的设备以这种方式使用公司网络。)

如何检测我所连接的网络的名称?

1 个答案:

答案 0 :(得分:1)

尝试使用DNS查找您的IP地址。 (如果您有私有IP,则需要通过STUN或类似方式获取公众信息)

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