Mezipaměť AutoProxy
Funkce WinHttpGetProxyForUrl provádí automatické vyhledávání podle požadavku pro zadanou adresu URL. Pokud se vrátí více proxy serverů, klientské aplikace by měly před odesláním požadavku testovat každý proxy server (další informace najdete v tématu Aktuálně podporovaný pouze jeden proxy server v části Problémy s automatickým proxy serverem ve Službě WinHTTP. Informace v tomto tématu platí pro volání WinHttpGetProxyForUrl, když klient určuje automatické zjišťování proxy.
WinHttpGetProxyForUrl volitelně vyhledá adresu URL automatickéhoproxy a stáhne skript autoproxy z tohoto webu. WinHttp k vyhledání proxy serverů používá skript autoproxy. Adresa URL autoproxy i skript autoproxy se ukládají do mezipaměti pro zadanou relaci. Pro každou relaci se ukládá pouze jedna adresa URL a skript automatickéhoproxy. Skript automatického zpracování a adresa URL se obvykle ukládají do mezipaměti, dokud se IP adresa přidružená k počítači nezmění. Pokud se během volání WinHttpGetProxyForUrlzjistí nová IP adresa, volání se pokusí vyhledat novou adresu URL a skript autoproxy a uložit výsledky do mezipaměti. Pro každou relaci by měl být povolený jenom jeden uživatel, aby se data uložená v mezipaměti nesdíleli s ostatními uživateli v počítači. Další informace najdete v tématu přehled relací WinHTTP.
Pokud je služba mimo proces aktivní, když se volá WinHttpGetProxyForUrl, je adresa URL a skript v mezipaměti k dispozici pro celý počítač. Pokud se však používá služba mimo proces a fAutoLogonIfChallenged příznakem pAutoProxyOptions je true, pak adresa URL a skript autoproxy nejsou uloženy do mezipaměti. Proto volání WinHttpGetProxyForUrl s fAutoLogonIfChallenged člen nastavený na TRUE vede k dalším režijním operacím, které mohou ovlivnit výkon. Ke zlepšení výkonu je možné použít následující kroky.
zlepšení výkonu
- Volání WinHttpGetProxyForUrl s parametrem fAutoLogonIfChallenged nastaveným na false. Adresa URL a skript autoproxy se ukládají do mezipaměti pro budoucí volání WinHttpGetProxyForUrl.
- Pokud krok 1 selže s ERROR_WINHTTP_LOGIN_FAILURE, volání WinHttpGetProxyForUrl s fAutoLogonIfChallenged člen nastaven na TRUE.