Stránky ASP.NET je uložen v mezipaměti jádra HTTP.sys služby IIS 6.0 po stránce technologie ASP.NET generuje záhlaví HTTP obsahující odpověď Set-Cookie

Příznaky

Zvažte následující scénář. Stránka Microsoft ASP.NET obsahuje direktivy < % @ OutputCache % > . Kromě toho stránky technologie ASP.NET generuje záhlaví HTTP obsahující odpověď Set-Cookie . V tomto scénáři ASP.NET stránka uložena do mezipaměti jádra (HTTP.sys) zásobníku protokolu HTTP v Internetová informační služba (IIS) 6.0. Více uživatelů, kteří mají přístup na stejné stránce, proto může zobrazit identické soubory cookie.

Jak potíže obejít

Chcete-li tento problém vyřešit, použijte jednu z následujících metod podle vaší situace.

Metoda 1: Zakázat mezipaměť režimu jádra

Můžete zakázat systémové mezipaměti v režimu jádra nebo zakázat jádra režim ukládání do mezipaměti pro konkrétní aplikaci ASP.NET. Tato metoda je upřednostňovaný řešení, protože můžete použít ukládání výstupu do mezipaměti v aplikaci technologie ASP.NET. Chcete-li zakázat mezipaměť režimu jádra, postupujte takto:
  1. Pokud chcete zakázat systémové mezipaměti v režimu jádra, otevřete konfigurační soubor Machine.config. Tento soubor je umístěn v následující složce:
    Drive:\WINDOWS\Microsoft .NET\Framework\Version\CONFIG
    Poznámka: Jednotka je zástupný symbol pro jednotku, kde je nainstalován operační systém. Je zástupný symbol pro číslo verze rozhraní.NET Framework společnosti Microsoft, která je nainstalována verze .

    Pokud chcete zakázat ukládání do mezipaměti pro konkrétní aplikaci ASP.NET v režimu jádra, otevřete konfigurační soubor Web.config. Tento soubor je umístěn ve složce aplikace ASP.NET.
  2. V konfiguračním souboru vyhledejte prvek < httpRuntime > a přidejte následující atribut:
    enableKernelOutputCache="false"

Metoda 2: Zakážete ukládání výstupu do mezipaměti v konkrétní stránky ASP.NET

Můžete zakázat ukládání výstupu do mezipaměti v konkrétní stránky ASP.NET, který generuje záhlaví HTTP obsahující odpověď Set-Cookie . Nicméně je nutné identifikovat každé stránky ASP.NET pro celou aplikaci, která může vygenerovat soubor cookie. Například pokud používáte soubory cookie k udržení stavu relace, může generovat každou stránku, která uživatel přistupuje k souboru cookie.

Chcete-li zakázat ukládání výstupu do mezipaměti v konkrétní stránky ASP.NET, odstraňte z libovolného souboru ASPX, které nechcete ukládat do mezipaměti direktivy < % @ OutputCache % > . Další informace o direktivy < % @ OutputCache % > na stránkách ASP.NET naleznete následujícím webu Microsoft Developer Network (MSDN):

Stav

Společnost Microsoft potvrdila, že se jedná o problém v produktech společnosti Microsoft, které jsou uvedeny v části "Platí pro".

Další informace

Další informace o atributu enableKernelOutputCache ve schématu nastavení technologie ASP.NET naleznete na následujícím webu MSDN:
Další informace o konfiguraci nastavení registru pro ovladače režimu jádra HTTP.sys klepněte na následující číslo článku databáze Microsoft Knowledge Base:

820129 nastavení registru Http.sys pro službu IIS

Vlastnosti

ID článku: 917072 - Poslední kontrola: 16. 1. 2017 - Revize: 1

Váš názor