【发布时间】:2014-08-07 13:58:52
【问题描述】:
将网络更改为公司网络后,我的应用程序抛出“无法解析远程名称”异常。
应用程序使用 C# 编写并使用 WebClient。 WebClient 实例每 3 秒在计时器上创建一次,并使用 UploadValues 从服务器获取数据。
办公网络的设置方式使得我们几乎没有 WiFi 网络(我们称它们为 A、B、C、D)。 A – 是企业 VPN 网络。
当我们运行应用程序时,无论当前的网络连接如何,它都能正常运行。如果我们更改 B、C、D 之间的连接,应用程序将继续正常工作。如果我们在连接到 A 网络时运行应用程序,然后切换到 B、C 或 D,它仍然可以正常工作。但是,如果我们在连接到 B、С 或 D 时启动应用程序,然后切换到 A(企业 VPN 之一)应用程序会在每个计时器滴答声中抛出“无法解析远程名称”,如果我们切换回 B, C 或 D,UploadValues 开始正常工作。从 B、C、D 网络切换到 A 后,使应用程序正常运行的唯一方法是重新启动应用程序,(如果重新启动后我们切换到 B、C、D 并返回 A 应用程序将再次开始崩溃与 «The remote名称无法解析»。我尝试通过浏览器(Chrome、IE 10)访问相同的资源,它工作得很好。
我尝试使用 Dns.GetHostAddresses 获取 IP,但它总是在 A 网络中返回“No such host is known”,但在 B、C 或 D 网络中工作正常。 nslookup 命令在 A 网络中返回“不存在的域”,但在 B、C 或 D 中工作正常。同时,无论当前网络如何,我都可以通过 Chrome 或 IE 访问资源而不会出现问题。
ipconfig /flushdns、ipconfig /registerdns 和 ipconfig /renew 不起作用。
是什么导致了这个问题?在这一点上,我完全迷失了,我没有想法。
【问题讨论】:
标签: c# networking webclient vpn