SessionStateSection.Cookieless Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает значение, указывающее, используются ли файлы cookie для идентификации сеансов клиентов.
public:
property System::Web::HttpCookieMode Cookieless { System::Web::HttpCookieMode get(); void set(System::Web::HttpCookieMode value); };
[System.Configuration.ConfigurationProperty("cookieless")]
public System.Web.HttpCookieMode Cookieless { get; set; }
[<System.Configuration.ConfigurationProperty("cookieless")>]
member this.Cookieless : System.Web.HttpCookieMode with get, set
Public Property Cookieless As HttpCookieMode
Значение свойства
true
, если все запросы считаются обрабатываются в качестве запросов, которые не используют "cookies", или false
, если запросы не обрабатываются в качестве запросов, которые не используют "cookies", или одно из значений HttpCookieMode. Значение по умолчанию в ASP.NET версии 2.0 равно AutoDetect. В более ранних версиях значение по умолчанию равно false
.
- Атрибуты
Примеры
В следующем примере кода показано, как получить Cookieless свойство . Ознакомьтесь с примером кода в разделе класса SessionStateSection , чтобы узнать, как получить доступ к объекту SessionStateSection .
// Display the current Cookieless property value.
Console.WriteLine("Cookieless: {0}",
sessionStateSection.Cookieless);
' Display the current Cookieless property value.
Console.WriteLine("Cookieless: {0}", sessionStateSection.Cookieless)
Комментарии
Существует два способа сохранения состояния сеанса, который связывает клиент с сеансом сервера: путем хранения файла cookie HTTP на клиенте или путем кодирования идентификатора сеанса в URL-адресе. Хранение идентификатора сеанса в файле cookie является более безопасным, но для поддержки файлов cookie требуется клиентский браузер.
Для приложений, которые разрешают клиенты, которые не поддерживают файлы cookie, например различные мобильные устройства, идентификатор сеанса может храниться в URL-адресе. Параметр URL-адреса имеет несколько недостатков. Для этого требуется, чтобы ссылки на сайте были относительными и чтобы страница была перенаправлена в начале сеанса с новыми значениями строки запроса, а также предоставляет идентификатор сеанса прямо в строке запроса, где его можно выбрать для использования в атаке безопасности.
Рекомендуется использовать режим без файлов cookie, только если требуется поддержка клиентов, у которых отсутствует поддержка файлов cookie.
Состояние сеанса также поддерживает два дополнительных параметра: UseDeviceProfile и AutoDetect. Первый позволяет модулю состояния сеанса определить, какой режим (файл cookie или файл cookie не используется) для каждого клиента на основе возможностей браузера. Параметр AutoDetect выполняет подтверждение в браузере, чтобы проверить, может ли храниться файл cookie, и поэтому требует дополнительный запрос для принятия решения. Если вам нужна поддержка клиентов без файлов cookie, настоятельно рекомендуется использовать для UseDeviceProfile создания URL-адресов без файлов cookie только для клиентов, которым они требуются.
Примечание
С up. Браузер 4.1 или UP. Браузер 3.2 всегда ведет себя так, Redirect как если бы значение SupportsRedirectWithCookie свойства HttpBrowserCapabilities объекта равно false
, если только свойству Cookieless в SessionState разделе Web.config не было явно задано значение true
.
В ASP.NET версии 1.1 параметры для этого параметра были true
или false
, но с ASP.NET 2.0 варианты были расширены и AutoDetect теперь являются параметром по умолчанию. Если свойству Cookieless веб-приложения присвоено логическое значение, то Redirect оно должно работать должным образом для этих браузеров.