Dela via


AutoProxy Cache

Funktionen WinHttpGetProxyForUrl utför autoproxysökning per begäran för den angivna URL:en. Om flera proxyservrar returneras bör klientprogram testa varje proxy innan du skickar begäran (mer information finns i avsnittet Endast en proxyserver stöds för närvarande i AutoProxy-problem i WinHTTP). Informationen i det här avsnittet gäller för anrop till WinHttpGetProxyForUrl när klienten anger automatisk proxyidentifiering.

WinHttpGetProxyForUrl om du vill kan du hitta autoproxy-URL:en och ladda ned autoproxyskriptet från den webbplatsen. WinHttp använder autoproxy-skriptet för att hitta proxyservrarna. Både autoproxy-URL:en och autoproxyskriptet cachelagras för den angivna sessionen. Endast en autoproxy-URL och ett skript cachelagras för varje session. Vanligtvis cachelagras autoproxyskriptet och URL:en tills IP-adressen som är associerad med datorn ändras. Om en ny IP-adress identifieras under ett anrop till WinHttpGetProxyForUrlförsöker anropet hitta en ny autoproxy-URL och skript och cachelagra resultatet. Endast en användare ska tillåtas per session, så att cachelagrade data inte delas med andra användare på datorn. Mer information finns i Översikt över WinHTTP-sessioner.

Om out-of-process-tjänsten är aktiv när WinHttpGetProxyForUrl anropas, är den cachelagrade autoproxy-URL:en och skriptet tillgängliga för hela datorn. Men om out-of-process-tjänsten används och fAutoLogonIfChallenged flagga i pAutoProxyOptions struktur är sant, cachelagras inte autoproxy-URL:en och skriptet. Att anropa WinHttpGetProxyForUrl med fAutoLogonIfChallenged medlem inställd på TRUE resulterar därför i ytterligare omkostnader som kan påverka prestanda. Följande steg kan användas för att förbättra prestanda.

För att förbättra prestanda

  1. Anropa WinHttpGetProxyForUrl med parametern fAutoLogonIfChallenged inställd på false. Url:en och skriptet för autoproxy cachelagras för framtida anrop till WinHttpGetProxyForUrl.
  2. Om steg 1 misslyckas med ERROR_WINHTTP_LOGIN_FAILUREanropar du WinHttpGetProxyForUrl med fAutoLogonIfChallenged medlem inställd på TRUE.