Una pagina ASP.NET Ŕ memorizzata nella cache del kernel HTTP.sys in IIS 6.0, quando la pagina ASP.NET genera un'intestazione HTTP che contiene una risposta set-cookie

Traduzione articoli Traduzione articoli
Identificativo articolo: 917072 - Visualizza i prodotti a cui si riferisce l?articolo.
Espandi tutto | Chiudi tutto

In questa pagina

Sintomi

Si consideri lo scenario seguente. Una pagina Microsoft ASP.NET contiene il < % @ OutputCache % > direttiva. Inoltre, la pagina ASP.NET genera un'intestazione HTTP che contiene una risposta Set-cookie . In questo scenario, la pagina ASP.NET Ŕ memorizzata nella cache del kernel HTTP protocollo stack (HTTP.sys) all'indirizzo in Microsoft Internet Information Services (IIS) 6.0. Pertanto, pi¨ gli utenti che accedono della stessa pagina potrebbero ricevere il cookie identici.

Workaround

Per aggirare il problema, utilizzare il metodo pi¨ appropriato per la propria situazione tra quelli descritti di seguito.

Metodo 1: Disattiva caching di modalitÓ kernel

╚ possibile disattivare la memorizzazione nella cache a livello di sistema in modalitÓ kernel, oppure Ŕ possibile disattivare la cache modalitÓ di kernel per un'applicazione ASP.NET specifica. Questo metodo Ŕ la soluzione preferita in quanto Ŕ possibile utilizzare la cache di output nell'applicazione ASP.NET. Per disattivare la cache di modalitÓ kernel, attenersi alla seguente procedura:
  1. Se si desidera disattivare la memorizzazione nella cache a livello di sistema in modalitÓ kernel, aprire il file di configurazione di Machine.config. Questo file si trova nella seguente cartella:
    Drive: \WINDOWS\Microsoft.NET\Framework\ Version \Config
    Nota Drive Ŕ un segnaposto per l'unitÓ in cui Ŕ installato il sistema operativo. Version Ŕ un segnaposto del numero di versione di Microsoft .NET Framework Ŕ installato.

    Se si desidera disattivare la cache per una specifica applicazione ASP.NET in modalitÓ kernel, aprire il file di configurazione di Web.config. Questo file si trova nella cartella dell'applicazione ASP.NET.
  2. Nel file di configurazione, individuare il <httpruntime> elemento, quindi aggiungere il seguente attributo:
    enableKernelOutputCache = "false"

Metodo 2: Disattiva la cache di output in una pagina ASP.NET specifica

╚ possibile disattivare la cache di output nella pagina ASP.NET specifica che genera un'intestazione HTTP che contiene una risposta Set-cookie . Tuttavia, Ŕ necessario identificare ogni pagina ASP.NET l'intera applicazione pu˛ generare un cookie. Ad esempio, se si utilizza i cookie per mantenere lo stato sessione, qualsiasi pagina che accede a un utente pu˛ generare un cookie.

Per disattivare la cache di output in una pagina ASP.NET specifica, eliminare il < % @ OutputCache % > direttiva da qualsiasi file con estensione aspx che non si desidera memorizzare nella cache. Per ulteriori informazioni il < % @ OutputCache % > direttiva nelle pagine ASP.NET, visitare il sito di Web di MSDN (informazioni in lingua inglese):
http://msdn2.microsoft.com/en-us/library/zd1ysf1y(VS.80).aspx

Status

Microsoft ha confermato che questo problema riguarda i prodotti sono elencati nella sezione "Si applica a".

Informazioni

Per ulteriori informazioni sull'attributo enableKernelOutputCache nello schema delle impostazioni ASP.NET, visitare il seguente sito Web MSDN:
http://msdn2.microsoft.com/en-us/library/e1f13641.aspx
Per ulteriori informazioni su come configurare le impostazioni di registro di sistema per il driver di modalitÓ kernel HTTP.sys, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
820129Impostazioni del Registro di sistema di HTTP.sys per IIS

ProprietÓ

Identificativo articolo: 917072 - Ultima modifica: lunedý 3 dicembre 2007 - Revisione: 1.5
Le informazioni in questo articolo si applicano a:
  • Microsoft Internet Information Services 6.0
  • Microsoft ASP.NET 2.0
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
Chiavi:á
kbmt kbasp kbhttpruntime kbcookie kbconfig kbcaching kbtshoot kbprb KB917072 KbMtit
Traduzione automatica articoli
Il presente articolo Ŕ stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non Ŕ sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, pi¨ o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non Ŕ la sua. Microsoft non Ŕ responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 917072
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

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