Ich verwende .NET 2.0, um einen einfachen Webservice-Aufruf durchzuführen. Von den meisten Maschinen muss ich nichts Besonderes machen. Ein Client befindet sich jedoch in einem Unternehmensnetzwerk, das ein Proxy-Autoconfig-Skript verwendet. Fast alles, was ich finden kann (z. B. http://msdn.microsoft.com/en-us/magazine/cc300743.aspx#S3) sagt mir, dass ich nichts tun sollte. .NET liest die Proxyeinstellungen aus der Registrierung und "funktioniert einfach". Ja, genau.Was ist der richtige Weg, um ein Proxy-Autokonfigurations-Skript zu handhaben, um einen Webservice-Aufruf in .net zu machen?
Wenn der Client verwendet, um ihren Browser zuerst die Webservice-URL zu besuchen, dann hat mein WebService Aufruf Arbeit. Nach einer gewissen Zeit hören die Webservice-Aufrufe auf, mit einem 407-Fehler (Proxy Authentication Required) zu arbeiten.
Ich habe versucht, explizit die Proxy-Einstellung (wie durch Get Proxy configuration before accessing an external webservice (.NET 2.0) vorgeschlagen), haben aber kein Glück gehabt.
Ich fand diese MS knowledgebase article mit Informationen zum Aufruf von WinHttpGetProxyForUrl in WinHTTP.DLL. Wenn ich die autoconfigurl-Einstellung aus der Registrierung heraushole und sie in einem Aufruf von WinHttpGetProxyForUrl verwende, scheint es zu funktionieren, aber es scheint einfach falsch zu sein, dorthin zu gehen. Kennt jemand den "richtigen Weg", um .NET dazu zu bringen, das Standard-IE-Proxy-Autoconfig-Skript zu verwenden? Vielen Dank.
Ich fand diese SO Frage (http://stackoverflow.com/questions/202547/how-do-i-find-out-the-browsers-proxy-settings) mit Informationen über die WinHttpGetIEProxyConfigForCurrentUser() - Funktion. Das sollte mir zumindest den direkten Registrierungszugriff ersparen. –