我们有一个叫网络服务的ASP.NET网站。如果没有对ASP.NET网站进行模拟,那么对webservice的调用是缓慢的--使用WireShark,我们可以看到它正在进行WPAD查询。
如果模拟是开的,并且它是模拟管理用户,那么对webservice的调用是快速的--使用WireShark,我们认为它没有进行WPAD查询。
有人见过这个吗?如何防止NetworkService (默认情况下是ASP.NET网站使用的)不进行WPAD查询。
为什么冒充管理员用户不引起WPAD查询?
这是我们在WireShark中看到的条目:
名称查询NB WPAD<00>
发布于 2011-02-10 15:11:18
我也有同样的问题。
WPAD代表Web代理自动发现。
有关协议的详细信息可以在维基百科上找到。
当您在Internet >Tools->Internet>Connections->LAN Settings中检查“自动检测设置”时,机器将始终使用WPAD协议在进行任何web连接之前查询网络中的自动检测代理。
即使设置在IE中,它也适用于整个机器,因此也适用于任何试图从该机器连接到web服务的客户端。它也是IE中的默认设置。
打开WPAD后,当进行任何网络连接时,客户端机器将查询您的DNS和WINS服务器,以找到一个自动代理,并且还将进行一系列的广播,请求自动代理。
直到收到响应或超时时间(据我所知,超时是任意的--也许WPAD的某个精明的人可以提供一个答案),连接才会通过?逝去。
您在Wireshark中看到的"NBNS名称查询NBNS“消息是客户端在WINS服务器上查询自动代理。如果您没有看到那些数据包被发送到的服务器的回复,那么您的网络设置就有问题了。服务器应该回答没有自动代理,或者使用自动代理服务器的详细信息。
我们遇到的问题是,WindowsServer2008DNS服务器默认配置为忽略WPAD请求(即它们根本不回答)--这就是我们作为DNS/WINS服务器运行的内容。我们没有自动代理运行,所以WindowsServer2008DNS服务器应该回答“否”。因为它没有,我们的客户会在30秒左右的时间内徒劳无功地进行查询,然后放弃并进行初始连接。
好消息是这个问题有三种解决办法:
客户端的机器上关闭IE中的“自动检测设置”。
http://support.microsoft.com/kb/968699
最后,这里有一个指向WPAD的一些信息的链接,我在自己调试这个问题时发现这些信息非常有用:
http://www.isaserver.org/articles/ISA2004_ClientAutoConfig.html
希望这能有所帮助!
https://stackoverflow.com/questions/3847765
复制相似问题