我有一个与Web服务通信的控制台应用程序。它们都在同一台机器上。
当我禁用LAN时访问Web服务时,它连接没有问题。但是,如果LAN已启用并连接到我们的办公室网络,则会收到此错误:
“需要HTTP 407代理身份验证 - ISA Server需要授权才能完成请求。拒绝访问Web代理服务。”
我们一直在寻找问题的根源三天了。我们已经尝试了所有我们能想到的东西。是什么原因造成了这个问题?
附加说明: - 计算机处于工作组设置但具有DNS后缀(computer.local)。访问网络服务时,我们将地址键入“http://machine.computer.local/service.asmx”
我与IT人员交谈,他们说我们没有安装ISA服务器
IE中没有设置“代理”。
机器状况良好。
答案 0 :(得分:1)
显然,我与之交谈过的IT人员并不了解公司范围内的ISA服务器。
使用Wireshark,我将数据转储到HTML文件(标准HTTP 407错误页面)。它清楚地显示了ISA服务器的主机名和IP地址。
简而言之,问题是ISA服务器。虽然如果托管站点的IIS服务器位于计算机本身(localhost)上,机器将与ISA服务器联系的原因仍然是一个谜。
解决方法:使用bypassonlocal属性。
<configuration>
<system.net>
<defaultProxy>
<proxy proxyaddress="<ISA-SERVER>" bypassonlocal="true"/>
</defaultProxy>
</system.net>
</configuration>
答案 1 :(得分:0)
尝试将以下行添加到hosts文件中:
127.0.0.1 machine.computer.local
答案 2 :(得分:0)
在Web.config的“配置”部分下添加:
<system.net>
<defaultProxy enabled="true" useDefaultCredentials="true"></defaultProxy>
</system.net>
然后就像一个魅力!