C#识别连接到的网络

C#识别连接到的网络,c#,networking,C#,Networking,我正在开发一个将文件复制到服务器的应用程序 我需要一种方法来确定客户端是否物理连接到网络(LAN电缆或无线连接),或者客户端是否通过其他方式连接 例如,如果我的应用程序在办公室的笔记本电脑上运行,我可能会接通电源。后来我断开连接回家,我的笔记本电脑就连接到我的路由器和提供商 我想检查域名,但这只是给了我的开发PC的名称。我还考虑了查看文件共享是否可用,但如果没有真正连接的人创建了一个同名映射,那么这是一个错误的结果 最后,应用程序将确定其连接方式,然后进行文件复制或通过FTP将文件传送到 我怎么

我正在开发一个将文件复制到服务器的应用程序

我需要一种方法来确定客户端是否物理连接到网络(LAN电缆或无线连接),或者客户端是否通过其他方式连接

例如,如果我的应用程序在办公室的笔记本电脑上运行,我可能会接通电源。后来我断开连接回家,我的笔记本电脑就连接到我的路由器和提供商

我想检查域名,但这只是给了我的开发PC的名称。我还考虑了查看文件共享是否可用,但如果没有真正连接的人创建了一个同名映射,那么这是一个错误的结果

最后,应用程序将确定其连接方式,然后进行文件复制或通过FTP将文件传送到

我怎么知道它是如何连接的


谢谢

你的问题不清楚。听起来你好像在问自己是否在同一个网络上。请尝试连接到主机名。如何检查域名。。您是否也在使用PrincipalContext?我相信您也可以使用
WMI
执行以下
System.Net.NetworkInformation.IPGlobalProperties.GetIPGlobalProperties().DomainName@slaks..是的,我正在尝试确定我是否在同一网络上。请解释一下“连接到主机名”@MethodMan:我刚刚运行了以下命令:string name1=System.Net.Dns.GetHostName();字符串名称2=Environment.UserDomainName;字符串name3=System.Net.Dns.GetHostEntry(“”).HostName;在我的办公室中,名称1是PCName,名称2是NetworkName,名称3是PCName。NetworkName在家中,所有3个都是PCName@MethodMan. 我尝试了System.Net.NetworkInformation.IPGlobalProperties.GetIPGlobalProperties().Domain‌​名称在办公网络上,我得到了网络名。在我的家庭网络上的家庭电脑上,它返回空