如何检测 DNS 服务器是否已在 .net 中以编程方式指定?
如何以编程方式检测 Windows 7 中是否显式定义 DNS 服务器:
可以使用以下方式识别静态 ip 寻址IPv4InterfaceProperties::IsDhcpEnabled
但我找不到类似的 dns 设置。
我尝试过 IPInterfaceProperties::IsDnsEnabled
和 IPInterfaceProperties::IsDynamicDnsEnabled
但当我通过 Windows 对话框更改设置时,这些似乎都没有改变。
我需要获取此信息,以便我可以为我正在编写的单元测试执行一些设置/拆卸。
我还尝试过IPInterfaceProperties::DnsAddresses
。这会列出静态指定的地址,或者如果没有指定,它似乎会从我的网络中获取它们(我们正在运行 DHCP 和 DNS 服务器)。如果之前配置为动态设置 DNS 服务器,我不想在拆卸方法中显式设置 DNS 服务器。
How can I programmatically detect whether DNS servers are explicitly defined in windows 7:
Static ip addressing can be identified using IPv4InterfaceProperties::IsDhcpEnabled
but I can't find a similar setting for the dns.
I've tried IPInterfaceProperties::IsDnsEnabled
and IPInterfaceProperties::IsDynamicDnsEnabled
but neither of those appear to change when I alter the setting via the windows dialog.
I need to get this information so that I can perform some setup / tear down for a unit test I'm writing.
I've also tried IPInterfaceProperties::DnsAddresses
. This lists the addresses as statically specified or if none are specified it appears to pick them up from my network (we have DHCP and DNS servers running). I don't want to explicitely set DNS servers in the teardown method if it was previously configured to do it dynamically.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
好吧,这不是一个纯粹的 .net 解决方案,但是如果我们运行:
在测试之前和:
在测试执行之后,我们应该回到我们开始的地方。
Well it's not a pure .net solution, but if we run:
before the test and:
after the tests have executed, we should be back to where we started.