2010-10-02 8 views
5

Wir haben eine ASP.NET-Website, die einen Webservice aufruft. Wenn der Identitätswechsel für die ASP.NET-Website nicht aktiviert ist, ist der Aufruf an den Webdienst langsam - mit WireShark sehen wir, dass WPAD-Abfragen durchgeführt werden.WPAD Abfragen aufrufen Webservice von ASP.NET

Wenn der Identitätswechsel aktiviert ist und sich als Admin-Benutzer ausgibt, ist der Aufruf zum Webservice schnell - wir verwenden WireShark, damit WPAD-Anfragen NICHT gestellt werden.

Hat jemand das schon mal gesehen? Wie verhindern wir, dass der NetworkService, der standardmäßig von der ASP.NET-Website verwendet wird, keine WPAD-Abfragen durchführt?

Warum verursacht die Identitätsprüfung als Administrator keine WPAD-Abfragen?

Dies ist der Eintrag, den wir in Wireshark sehen:

NBNS Namensabfrage NB WPAD < 00>

Antwort

4

ich genau das gleiche Problem hatte.

WPAD steht für Web Proxy Auto Discovery.

Details zum Protokoll finden Sie auf Wikipedia.

Wenn Sie in Internet Explorer-> Extras-> Internetoptionen-> Verbindungen-> LAN-Einstellungen die Option "Einstellungen automatisch erkennen" aktivieren, fragt das Gerät immer das WPAD-Protokoll ab, um das Netzwerk nach einem Proxies mit automatischer Erkennung abzufragen Web-Verbindung herstellen

Obwohl die Einstellung in IE ist, gilt sie für die gesamte Maschine und somit für jeden Client, der versucht, von dieser Maschine aus eine Verbindung zu einem Web-Service herzustellen. Dies ist auch die Standardeinstellung in IE.

Wenn WPAD aktiviert ist, fragt der Clientcomputer beim Herstellen einer Webverbindung Ihre DNS- und WINS-Server ab, um einen automatischen Proxy zu finden, und erstellt außerdem eine Sequenz von Broadcasts, die nach einem automatischen Proxy fragen.

Die Verbindung wird erst dann durchlaufen, wenn entweder eine Antwort empfangen wird oder eine Zeitüberschreitung (soweit ich das Zeitlimit angeben kann - vielleicht könnte jemand WPAD savvy eine Antwort liefern?) Ablaufen.

Die Nachrichten "NBNS Name Query NB WPAD", die Sie in Wireshark sehen, sind der Client, der den WINS-Server nach einem automatischen Proxy abfragt. Wenn auf dem Server, an den diese Pakete gesendet werden, keine Antwort angezeigt wird, liegt ein Problem mit der Netzwerkeinrichtung vor. Der Server sollte entweder antworten, dass kein Auto-Proxy vorhanden ist, oder die Details des Auto-Proxy-Servers.

Das Problem war, dass Windows Server 2008-DNS-Server standardmäßig so konfiguriert sind, dass sie WPAD-Anfragen ignorieren (d. H. Sie antworten überhaupt nicht) - und dies war unser DNS/WINS-Server. Wir haben kein automatisches Proxy ausgeführt, daher sollte der DNS-Server von Windows Server 2008 mit "nein" antworten. Da dies nicht der Fall war, würde unser Kunde bis zu 30 Sekunden lang vergeblich nachfragen, bevor er aufgibt und nur die erste Verbindung herstellt.

Die gute Nachricht ist, gibt es drei Lösungen für dieses Problem:

1) Schalten Sie „Automatische Suche der Einstellungen“ in IE auf jedem Rechner als Client für Ihre webservice

2) Bearbeiten Sie die verwendeten machine.config oder app.config der Web-Service-Client-App, um lokale Proxy-Einstellungen zu umgehen.Sie können Informationen finden, wie dies hier zu tun:

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

3) Machen Sie Ihr Netzwerk DNS-Server sicher konfiguriert ist, um richtig zu WPAD-Anfragen zu antworten.

Schließlich ist hier ein Link zu ein paar Informationen über WPAD, die ich sehr hilfreich beim Debuggen dieses Problem selbst:

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

hoffe, das hilft!

+1

Vielen Dank für die Antwort so gründlich. Du hast gerade meine Woche gerettet! – Sune

Verwandte Themen