Поделиться через


HttpSessionState.SessionID Свойство

Определение

Возвращает уникальный идентификатор сеанса.

public:
 property System::String ^ SessionID { System::String ^ get(); };
public string SessionID { get; }
member this.SessionID : string
Public ReadOnly Property SessionID As String

Значение свойства

Уникальный идентификатор сеанса.

Примеры

В следующем примере кода показан файл Web.config, который настраивает состояние сеанса для использования идентификаторов сеансов без файлов cookie. Дополнительные сведения см. в описании свойства IsCookieless.

<configuration>
  <system.web>
    <sessionState
      cookieless="true"
      regenerateExpiredSessionId="true"
      timeout="30" />
  </system.web>
</configuration>

Комментарии

Свойство SessionID используется для уникальной идентификации браузера с данными сеанса на сервере. Значение SessionID создается случайным образом ASP.NET и сохраняется в файле cookie сеанса без истечения срока действия в браузере. Затем SessionID значение отправляется в файле cookie с каждым запросом к приложению ASP.NET.

Если вы хотите отключить использование файлов cookie в приложении ASP.NET и по-прежнему UseUriиспользовать состояние сеанса, можно настроить приложение для хранения идентификатора сеанса в URL-адресе, а не в файле cookie, задав cookieless атрибуту элемента trueконфигурации sessionState значение или значение , в файле Web.config приложения. Вы можете ASP.NET определить, поддерживаются ли файлы cookie браузером, указав значение UseDeviceProfile для атрибута cookieless . Вы также можете ASP.NET определить, включены ли файлы cookie для браузера, указав значение AutoDetect для атрибута cookieless . Если файлы cookie поддерживаются при UseDeviceProfile указании или включены при AutoDetect указании, идентификатор сеанса будет храниться в файле cookie; в противном случае идентификатор сеанса будет храниться в URL-адресе. Дополнительные сведения см. в описании свойства IsCookieless.

передается SessionID между сервером и браузером в виде файла cookie или URL-адреса. В результате нежелательный источник может получить доступ к сеансу другого пользователя, получив значение и включив SessionID его в запросы к серверу. Если вы храните частную или конфиденциальную информацию в состоянии сеанса, рекомендуется использовать SSL для шифрования любого обмена данными между браузером и сервером, включающим SessionID.

При использовании состояния сеанса на основе файлов cookie ASP.NET не выделяет хранилище для данных сеанса Session , пока не будет использован объект . В результате для каждого запроса страницы создается новый идентификатор сеанса, пока не будет получен доступ к объекту сеанса. Если приложению требуется статический идентификатор сеанса для всего сеанса, можно либо реализовать Session_Start метод в файле Global.asax приложения и сохранить данные в Session объекте для исправления идентификатора сеанса, либо использовать код в другой части приложения для явного хранения данных в объекте Session .

Если приложение использует состояние сеанса без файлов cookie, идентификатор сеанса создается в первом представлении страницы и сохраняется в течение всего сеанса.

Применяется к

См. также раздел