在家中或工作中开发应用程序时,我需要评论设置代理开启或关闭的代码。因为在家里我在不同的网络而不是工作,在家里我不需要使用代理。
WebProxy proxy = new WebProxy(Settings.ProxyAddress, Settings.ProxyPort);
proxy.Credentials = CredentialCache.DefaultCredentials;
this.Proxy = proxy;
我想将此语句包装在确定网络名称的if子句中。像
if(isCorporateNetwork) {.....set proxy...};
我试图用以下方法检测它:
IPGlobalProperties.GetIPGlobalProperties().DomainName;
但结果是一个空字符串。可能是因为我的个人笔记本电脑 不是域的成员。 (但是,通过将我的凭据发送到代理来授予对网络的访问权限,允许自己的设备以这种方式使用公司网络。)
如何检测我所连接的网络的名称?
答案 0 :(得分:1)
尝试使用DNS查找您的IP地址。 (如果您有私有IP,则需要通过STUN或类似方式获取公众信息)
(这只是一种不同的方法,因为你的似乎是要走的路:How to find FQDN of local machine in C#/.NET ?)