Приложения ASP.NET страницы хранится в кэше ядра HTTP.sys в IIS 6.0 при ASP.NET создает НТТР-заголовок, содержащий ответа Set-Cookie

Переводы статьи Переводы статьи
Код статьи: 917072 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Проблема

Рассмотрим следующую ситуацию. Microsoft ASP.NET страница содержит <%@ OutputCache %> директива. Кроме того ASP.NET создает НТТР-заголовок, содержащий Set-Cookie ответ. В этом случае ASP.NET страница хранится в кэше ядра стека (HTTP.sys) протокола HTTP в Microsoft Internet информации службы (IIS) 6.0. Таким образом несколько пользователей, имеющих доступ к одной странице может появиться идентичные файлы «cookie».

Временное решение

Чтобы обойти эту проблему, используйте один из следующих способов в зависимости от конкретной ситуации.

Метод 1: Отключить кэширование в режиме ядра

Отключить кэширование всей системы в режиме ядра или отключить кэширование в режиме ядра для конкретной страницы ASP.NET приложения. Этот метод является предпочтительный метод обхода, поскольку можно использовать кэширование выходных данных в ASP.NET приложения. Чтобы отключить кэширование в режиме ядра, выполните следующие действия.
  1. Если вы хотите отключить кэширование всей системы в режиме ядра, откройте файл конфигурации Machine.config. Этот файл расположен в следующей папке:
    Диск: \WINDOWS\Microsoft.NET\Framework\Версия\CONFIG
    Примечание Диск — это диск, на котором установлена операционная система. Версия — Это номер версии платформы Microsoft.NET Framework, установки.

    Если вы хотите отключить кэширование в режиме ядра для конкретной страницы ASP.NET, откройте файл конфигурации Web.config. Этот файл расположен в ASP.Папка NET приложения.
  2. Найдите в файле конфигурации <httpruntime></httpruntime> элемент, а затем добавьте следующий атрибут:
    enableKernelOutputCache = «false»

Способ 2: Отключите выходное кэширование в конкретной страницы ASP.NET страницы

Чтобы отключить выходное кэширование в конкретной страницы ASP.NET, которая генерирует HTTP-заголовка, который содержит Set-Cookie ответ. Тем не менее необходимо определить каждое приложение ASP.NET в приложение целиком, который может сформировать файл cookie. Например при использовании файлов cookie для поддержания состояния сеанса, любую страницу, пользователь получает доступ к может генерировать файл cookie.

Чтобы отключить выходное кэширование в конкретной страницы ASP.NET страницы, удаление <%@ OutputCache %> директивы из любого файла .aspx, не требуется кэшировать. Для получения дополнительных сведений о <%@ OutputCache %> директивы в ASP.NET страниц, посетите следующий веб-узел Microsoft Developer Network (MSDN):
http://msdn2.Microsoft.com/en-us/library/zd1ysf1y (VS.80) .aspx

Статус

Корпорация Майкрософт подтверждает, что это проблема в продуктах Microsoft, перечисленных в разделе «Относится к».

Дополнительная информация

Для получения дополнительных сведений о enableKernelOutputCache атрибут в ASP.NET параметры схемы, посетите веб-узле MSDN:
http://msdn2.Microsoft.com/en-us/library/e1f13641.aspx
Для получения дополнительных сведений о настройке параметров реестра для драйверов режима ядра HTTP.sys щелкните следующий номер статьи базы знаний Майкрософт:
820129HTTP.sys параметров реестра для служб IIS

Свойства

Код статьи: 917072 - Последний отзыв: 18 июня 2011 г. - Revision: 4.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft Internet Information Services 6.0
  • Microsoft ASP.NET 2.0
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
Ключевые слова: 
kbasp kbhttpruntime kbcookie kbconfig kbcaching kbtshoot kbprb kbmt KB917072 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:917072

Отправить отзыв

 

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