AutoProxy Cache
La funzione WinHttpGetProxyForUrl esegue la ricerca autoproxy in base alla richiesta per l'URL specificato. Se vengono restituiti più proxy, le applicazioni client devono testare ogni proxy prima di inviare la richiesta . Per altre informazioni, vedere la sezione Only One Proxy Server is Currently Supported in AutoProxy Issues in WinHTTP (Problemi di AutoProxy in WinHTTP). Le informazioni contenute in questo argomento si applicano alle chiamate a WinHttpGetProxyForUrl quando il client specifica l'individuazione automatica del proxy.
WinHttpGetProxyForUrl individua facoltativamente l'URL autoproxy e scarica lo script autoproxy da tale sito. WinHttp usa lo script autoproxy per individuare i server proxy. Sia l'URL autoproxy che lo script autoproxy vengono memorizzati nella cache per la sessione specificata. Per ogni sessione vengono memorizzati nella cache solo un URL e uno script autoproxy. In genere, lo script autoproxy e l'URL vengono memorizzati nella cache fino a quando non viene modificato l'indirizzo IP associato al computer. Se viene rilevato un nuovo indirizzo IP durante una chiamata a WinHttpGetProxyForUrl, la chiamata tenterà di individuare un nuovo URL autoproxy e uno script e memorizzare nella cache i risultati. È consigliabile consentire un solo utente per sessione, in modo che i dati memorizzati nella cache non vengano condivisi con altri utenti nel computer. Per altre informazioni, vedere Panoramica delle sessioni WinHTTP.
Se il servizio out-of-process è attivo quando viene chiamato WinHttpGetProxyForUrl , l'URL e lo script autoproxy memorizzati nella cache sono disponibili per l'intero computer. Tuttavia, se viene usato il servizio out-of-process e il flag fAutoLogonIfChallenged nella struttura pAutoProxyOptions è true, l'URL e lo script autoproxy non vengono memorizzati nella cache. Pertanto, la chiamata a WinHttpGetProxyForUrl con il membro fAutoLogonIfChallenged impostato su TRUE comporta ulteriori operazioni di overhead che potrebbero influire sulle prestazioni. I passaggi seguenti possono essere usati per migliorare le prestazioni.
Per migliorare le prestazioni
- Chiamare WinHttpGetProxyForUrl con il parametro fAutoLogonIfChallenged impostato su false. L'URL e lo script autoproxy vengono memorizzati nella cache per le chiamate future a WinHttpGetProxyForUrl.
- Se il passaggio 1 ha esito negativo, con ERROR_WINHTTP_LOGIN_FAILURE, chiamare WinHttpGetProxyForUrl con il membro fAutoLogonIfChallenged impostato su TRUE.