Uma página ASP.NET é armazenada no cache de kernel HTTP.sys no IIS 6.0, quando a página ASP.NET gera um cabeçalho HTTP que contém uma resposta Set-cookie

Traduções deste artigo Traduções deste artigo
ID do artigo: 917072 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sintomas

Considere o seguinte cenário. Uma página do Microsoft ASP.NET contém o < % @ OutputCache % > diretiva. Além disso, a página ASP.NET gerará um cabeçalho HTTP que contém uma resposta Set-Cookie . Nesse cenário, a página ASP.NET está armazenada no cache de kernel (HTTP.sys) da pilha de protocolos HTTP no Microsoft Internet Information Services (IIS) 6.0. Portanto, vários usuários que acessam a mesma página podem receber cookies idênticos.

Como Contornar

Para contornar esse problema, use um dos seguintes métodos, conforme apropriado para sua situação.

Método 1: Desativar o cache do modo kernel

Você pode desativar cache de todo o sistema de modo kernel ou você pode desativar o cache do modo kernel para um aplicativo ASP.NET específico. Esse método é a solução preferencial, pois você ainda pode usar o cache de saída no aplicativo ASP.NET. Para desativar o cache do modo kernel, execute estas etapas:
  1. Se você desejar desativar cache todo o sistema de modo kernel, abra o arquivo de configuração Machine.config. Esse arquivo está localizado na seguinte pasta:
    Drive: \WINDOWS\Microsoft.NET\Framework\ Version \Config
    Observação Drive é um espaço reservado para a unidade onde o sistema operacional está instalado. Version é um espaço reservado para o número de versão do Microsoft .NET Framework que está instalado.

    Se você desejar desativar cache para um aplicativo específico do ASP.NET no modo kernel, abra o arquivo de configuração Web.config. Esse arquivo está localizado na pasta do aplicativo ASP.NET.
  2. No arquivo de configuração, localize o <httpruntime> elemento e adicione o seguinte atributo:
    enableKernelOutputCache = "false"

Método 2: Desativar cache de saída em uma página específica do ASP.NET

Você pode desativar o cache de saída na página ASP.NET específica que gera um cabeçalho HTTP que contém uma resposta Set-Cookie . No entanto, você deve identificar todas as páginas ASP.NET em todo o aplicativo que pode gerar um cookie. Por exemplo, se você estiver usando cookies para manter o estado da sessão, qualquer página que um usuário acessa pode gerar um cookie.

Para desativar o cache de saída em uma página específica do ASP.NET, exclua o < % @ OutputCache % > diretiva de qualquer arquivo .aspx que deseja ser armazenada em cache. Para obter mais informações sobre o < % @ OutputCache % > diretiva em páginas ASP.NET, visite a seguinte site da Microsoft Developer Network (MSDN):
http://msdn2.microsoft.com/en-us/library/zd1ysf1y(VS.80).aspx

Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a".

Mais Informações

Para obter mais informações sobre o atributo enableKernelOutputCache no esquema de configurações do ASP.NET, visite o seguinte site da MSDN:
http://msdn2.microsoft.com/en-us/library/e1f13641.aspx
Para obter mais informações sobre como definir as configurações do Registro para o driver HTTP.sys no modo kernel, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
820129Configurações de registro do HTTP.sys para IIS

Propriedades

ID do artigo: 917072 - Última revisão: segunda-feira, 3 de dezembro de 2007 - Revisão: 1.5
A informação contida neste artigo aplica-se a:
  • Microsoft Internet Information Services 6.0
  • Microsoft ASP.NET 2.0
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
Palavras-chave: 
kbmt kbasp kbhttpruntime kbcookie kbconfig kbcaching kbtshoot kbprb KB917072 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 917072

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com