首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WPAD查询从ASP.NET调用webservice

WPAD查询从ASP.NET调用webservice
EN

Stack Overflow用户
提问于 2010-10-02 22:25:39
回答 1查看 12.3K关注 0票数 5

我们有一个叫网络服务的ASP.NET网站。如果没有对ASP.NET网站进行模拟,那么对webservice的调用是缓慢的--使用WireShark,我们可以看到它正在进行WPAD查询。

如果模拟是开的,并且它是模拟管理用户,那么对webservice的调用是快速的--使用WireShark,我们认为它没有进行WPAD查询。

有人见过这个吗?如何防止NetworkService (默认情况下是ASP.NET网站使用的)不进行WPAD查询。

为什么冒充管理员用户不引起WPAD查询?

这是我们在WireShark中看到的条目:

名称查询NB WPAD<00>

EN

回答 1

Stack Overflow用户

发布于 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秒左右的时间内徒劳无功地进行查询,然后放弃并进行初始连接。

好消息是这个问题有三种解决办法:

  1. 在任何用作webservice

客户端的机器上关闭IE中的“自动检测设置”。

  1. 编辑web服务客户端应用程序的machine.config或app.config,以绕过本地代理设置。您可以在这里找到有关如何做到这一点的信息:

http://support.microsoft.com/kb/968699

  1. 确保您的网络DNS服务器配置为正确响应WPAD请求.

最后,这里有一个指向WPAD的一些信息的链接,我在自己调试这个问题时发现这些信息非常有用:

http://www.isaserver.org/articles/ISA2004_ClientAutoConfig.html

希望这能有所帮助!

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3847765

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档