【发布时间】:2011-08-24 23:06:18
【问题描述】:
我有一些包装代码运行一组 NUnit 测试,这些测试扫描实时网站以获取某些响应代码。
我想在不同的服务器上运行这些测试。手动运行时,我可以通过编辑 Windows\System32\drivers 中的 /etc/hosts 文件并临时将 www.mysite.com 设置为 10.0.0.whatever 来做到这一点
有什么方法可以在 .NET 控制台应用程序中执行相同的操作 - 临时覆盖 DNS 记录或以某种方式拦截解析并返回不同的 IP 地址?
编辑:这是用于测试网络场中的多台服务器。我有三个实时服务器,所有这些都认为它们是 www.example.com。因为服务器使用 HTTP 主机标头,所以我不能只对 server1、server2、server3 运行测试,因为对 http://server1/ 的 HTTP 请求不会返回与解析到 server1 的对 http://www.example.com/ 的请求相同的内容...
【问题讨论】:
-
我认为不打扰 DNS 会更容易。相反,将目标的 URL 设置为从 App.config 文件中读取。然后,您将根据您所处的环境切换读取哪个配置文件 - Visual Studio 可以为您管理。
-
杰夫 - 见编辑;我需要扫描不同的服务器,但不能使用不同的主机名与他们交谈......
-
啊,是的。我想这会让事情变得困难。我从你的代表和金牌怀疑这里还有其他事情发生:)
标签: c# nunit dns hosts-file ipconfig