AutoProxy-cache
De functie WinHttpGetProxyForUrl voert automatisch zoeken per aanvraag uit voor de opgegeven URL. Als er meerdere proxy's worden geretourneerd, moeten clienttoepassingen elke proxy testen voordat ze de aanvraag verzenden (zie de sectie Er wordt momenteel slechts één proxyserver ondersteund sectie in Problemen met AutoProxy in WinHTTP). De informatie in dit onderwerp is van toepassing op aanroepen naar WinHttpGetProxyForUrl- wanneer de client automatische proxydetectie opgeeft.
WinHttpGetProxyForUrl optioneel de URL voor autoproxy zoekt en het autoproxyscript van die site downloadt. WinHttp gebruikt het autoproxyscript om de proxyservers te vinden. Zowel de URL voor autoproxy als het autoproxyscript worden in de cache opgeslagen voor de opgegeven sessie. Er wordt slechts één URL en script voor automatischeproxy in de cache opgeslagen voor elke sessie. Normaal gesproken worden het autoproxyscript en de URL in de cache opgeslagen totdat het IP-adres dat is gekoppeld aan de computer wordt gewijzigd. Als er een nieuw IP-adres wordt gedetecteerd tijdens een aanroep naar WinHttpGetProxyForUrl-, probeert de aanroep een nieuwe autoproxy-URL en script te zoeken en de resultaten in de cache te plaatsen. Er mag slechts één gebruiker per sessie worden toegestaan, zodat de gegevens in de cache niet worden gedeeld met andere gebruikers op de computer. Zie Overzicht van WinHTTP-sessiesvoor meer informatie.
Als de out-of-process-service actief is wanneer WinHttpGetProxyForUrl- wordt aangeroepen, zijn de autoproxy-URL en het script in de cache beschikbaar voor de hele computer. Als de out-of-process-service echter wordt gebruikt en de fAutoLogonIfChallenged-vlag in de pAutoProxyOptions-structuur waar is, worden de autoproxy-URL en het script niet in de cache opgeslagen. Daarom leidt het aanroepen van WinHttpGetProxyForUrl- met de fAutoLogonIfChallenged-lid ingesteld op TRUE- tot extra overheadbewerkingen die van invloed kunnen zijn op de prestaties. De volgende stappen kunnen worden gebruikt om de prestaties te verbeteren.
Om de prestaties te verbeteren
- Roep WinHttpProxyForUrl- aan met de parameter fAutoLogonIfChallenged ingesteld op onwaar. De URL en het script voor automatischeproxy worden in de cache opgeslagen voor toekomstige aanroepen naar WinHttpGetProxyForUrl.
- Als stap 1 mislukt met ERROR_WINHTTP_LOGIN_FAILURE, roept u WinHttpGetProxyForUrl- aan met de fAutoLogonIfChallenged lid ingesteld op TRUE.