Compartilhar via


AutoProxy Cache

A função WinHttpGetProxyForUrl executa a pesquisa de reprodução automática por solicitação para a URL especificada. Se vários proxies forem retornados, os aplicativos cliente deverão testar cada proxy antes de enviar a solicitação (para obter mais informações, consulte o Somente um servidor proxy tem suporte atualmente seção em Problemas de AutoProxia no WinHTTP). As informações neste tópico se aplicam a chamadas para WinHttpGetProxyForUrl quando o cliente especifica a descoberta automática de proxy.

WinHttpGetProxyForUrl opcionalmente localiza a URL de reprodução automática e baixa o script de reprodução automática desse site. O WinHttp usa o script de reprodução automática para localizar os servidores proxy. A URL de reprodução automática e o script de reprodução automática são armazenados em cache para a sessão especificada. Apenas uma URL de reprodução automática e um script são armazenados em cache para cada sessão. Normalmente, o script e a URL de reprodução automática são armazenados em cache até que o endereço IP associado ao computador seja alterado. Se um novo endereço IP for detectado durante uma chamada para WinHttpGetProxyForUrl, a chamada tentará localizar uma nova URL de reprodução automática e criar um script e armazenar em cache os resultados. Apenas um usuário deve ser permitido por sessão, de modo que os dados armazenados em cache não sejam compartilhados com outros usuários no computador. Para obter mais informações, consulte Visão geral das sessões do WinHTTP.

Se o serviço fora de processo estiver ativo quando WinHttpGetProxyForUrl for chamado, a URL e o script de reprodução automática armazenados em cache estarão disponíveis para todo o computador. No entanto, se o serviço fora de processo for usado e o sinalizador fAutoLogonIfChallenged no estrutura de pAutoProxyOptions for true, a URL e o script de reprodução automática não serão armazenados em cache. Portanto, chamar WinHttpGetProxyForUrl com o membro fAutoLogonIfChallenged definido como VERDADEIRO resulta em operações de sobrecarga adicionais que podem afetar o desempenho. As etapas a seguir podem ser usadas para melhorar o desempenho.

melhorar o desempenho

  1. Chame WinHttpGetProxyForUrl com o parâmetro fAutoLogonIfChallenged definido como falso. A URL e o script de reprodução automática são armazenados em cache para chamadas futuras para WinHttpGetProxyForUrl.
  2. Se a Etapa 1 falhar, com ERROR_WINHTTP_LOGIN_FAILURE, chame WinHttpGetProxyForUrl com o membro fAutoLogonIfChallenged definido como TRUE.