Uma página ASP.NET armazenada na cache do kernel HTTP.sys no IIS 6.0 quando a página ASP.NET gera um cabeçalho HTTP que contém uma resposta de conjunto de cookies

Traduções de Artigos Traduções de Artigos
Artigo: 917072 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sintomas

Considere o seguinte cenário. Uma página Microsoft ASP.NET contém o < % @ OutputCache % > directiva. Além disso, a página ASP.NET gera um cabeçalho HTTP que contém uma resposta de Conjunto de cookies . Neste cenário, a página ASP.NET é armazenada na cache de kernel de pilha (HTTP.sys) protocolo HTTP no Microsoft (IIS) 6.0. Por este motivo, vários utilizadores que acedam a mesma página poderão receber cookies idênticos.

Como contornar

Para contornar este problema, utilize um dos seguintes métodos, conforme adequado à situação.

Método 1: Desactivar a cache do modo de kernel

Pode desactivar a colocação em cache de nível do sistema de modo kernel ou pode desactivar a memória de modo kernel cache para uma aplicação ASP.NET específica. Este método é a solução preferencial porque pode ainda utilizar a cache de saída na aplicação do ASP.NET. Para desactivar a cache de modo kernel, siga estes passos:
  1. Se pretender desactivar a colocação em cache de nível do sistema de modo kernel, abra o ficheiro de configuração Machine.config. Este ficheiro está localizado na seguinte pasta:
    Drive: \WINDOWS\Microsoft.NET\Framework\ Version \Config
    Nota Drive é um marcador para a unidade onde o sistema operativo está instalado. Version é um marcador de posição para o número da versão do Microsoft .NET Framework que está instalado.

    Se pretender desactivar a colocação em cache para uma aplicação do ASP.NET específica de modo kernel, abra o ficheiro de configuração Web.config. Este ficheiro está localizado na pasta de aplicação ASP.NET.
  2. No ficheiro de configuração, localize o <httpruntime> elemento e adicione o seguinte atributo:
    enableKernelOutputCache = "false"

Método 2: Desactivar a cache de saída numa página ASP.NET específica

Pode desactivar a cache de saída na página ASP.NET específica que gera um cabeçalho HTTP que contém uma resposta de Conjunto de cookies . No entanto, tem de identificar todas as páginas ASP.NET na aplicação completa que pode gerar um cookie. Por exemplo, se estiver a utilizar cookies para manter o estado da sessão, qualquer página que acede a um utilizador pode gerar um cookie.

Para desactivar a cache de saída numa página ASP.NET específica, elimine o < % @ OutputCache % > directiva de qualquer ficheiro .aspx que pretende que não devem ser colocados em cache. Para obter mais informações sobre o < % @ OutputCache % > directiva nas páginas do ASP.NET, visite o seguinte Web site da Microsoft Developer Network (MSDN):
http://msdn2.microsoft.com/en-us/library/zd1ysf1y(VS.80).aspx

Ponto Da Situação

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

Mais Informação

Para mais informações sobre o atributo enableKernelOutputCache no esquema de definições de ASP.NET, visite o seguinte site da Web MSDN:
http://msdn2.microsoft.com/en-us/library/e1f13641.aspx
Para obter mais informações sobre como configurar as definições de registo para o controlador de modo de kernel HTTP.sys, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
820129Definições de registo HTTP.sys para o IIS

Propriedades

Artigo: 917072 - Última revisão: 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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes 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