有没有办法获得System.Net.WebRequest或System.Net.WebClient尊重hosts或lmhosts文件?
例如:在我的主机文件中,我有:
10.0.0.1 www.bing.com
Run Code Online (Sandbox Code Playgroud)
当我尝试在浏览器(IE和FF)中加载Bing时,无法按预期加载.
Dns.GetHostAddresses("www.bing.com")[0]; // 10.0.0.1
WebRequest.Create("http://10.0.0.1").GetResponse(); // throws exception (expected)
WebRequest.Create("http://www.bing.com/").GetResponse(); // unexpectedly succeeds
Run Code Online (Sandbox Code Playgroud)
同理:
WebClient wc = new WebClient();
wc.DownloadString("http://www.bing.com"); //succeeds
Run Code Online (Sandbox Code Playgroud)
为什么要System.Net.Dns尊重hosts文件却System.Net.WebRequest忽略它呢?我需要更改什么才能使WebRequest尊重hosts文件?
附加信息:
编辑
根据@Richard Beier的建议,我尝试了System.Net追踪.随着跟踪ON的WebRequest失败,因为它应该.但是,只要我将跟踪关闭,行为就会恢复到意外的成功.我在调试和发布模式下都在同一台机器上重现了这一点.
编辑2
事实证明这是公司代理给我们带来的问题.我们的解决方案是我们的测试机器的自定义代理配置脚本,其中"bing.com"指向DIRECT而不是默认代理.
我们正在将几个旧的Access数据库升级/转换为MS-SQL.其中许多数据库都具有存储PDF文件的OLE对象字段.我正在寻找一种方法来提取这些文件并将它们存储在我们的SQL数据库中.我已经看到类似的问题,回答你如何使用图像文件(jpg,bmp,gif等),但我还没有找到一种适用于PDF的方法.