HttpSessionState.SessionID Свойство

Определение

Возвращает уникальный идентификатор сеанса.Gets the unique identifier for the session.

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

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

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

Примеры

В следующем примере кода показан файл Web. config, который настраивает состояние сеанса для использования идентификаторов сеанса без файлов cookie.The following code example shows a Web.config file that configures session state to use cookieless session identifiers. Дополнительные сведения см. в описании свойства IsCookieless.For more information, see the IsCookieless property.

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

Комментарии

Свойство SessionID используется для уникальной идентификации браузера с данными сеанса на сервере.The SessionID property is used to uniquely identify a browser with session data on the server. Значение SessionID создается случайным образом ASP.NET и сохраняется в файле cookie сеанса без истечения срока действия в браузере.The SessionID value is randomly generated by ASP.NET and stored in a non-expiring session cookie in the browser. Затем значение SessionID отправляется в файл cookie с каждым запросом в приложение ASP.NET.The SessionID value is then sent in a cookie with each request to the ASP.NET application.

Если вы хотите отключить использование файлов cookie в приложении ASP.NET и по-прежнему использовать состояние сеанса, можно настроить приложение для хранения идентификатора сеанса в URL-адресе вместо файла cookie, установив атрибут cookieless элемента конфигурации sessionState в значение trueили для UseUriв файле Web. config приложения.If you want to disable the use of cookies in your ASP.NET application and still make use of session state, you can configure your application to store the session identifier in the URL instead of a cookie by setting the cookieless attribute of the sessionState configuration element to true, or to UseUri, in the Web.config file for your application. С помощью ASP.NET можно определить, поддерживаются ли в браузере файлы cookie, указав значение UseDeviceProfile для атрибута cookieless.You can have ASP.NET determine whether cookies are supported by the browser by specifying a value of UseDeviceProfile for the cookieless attribute. Кроме того, можно определить, включены ли файлы cookie для браузера с помощью ASP.NET, указав значение AutoDetect для атрибута cookieless.You can also have ASP.NET determine whether cookies are enabled for the browser by specifying a value of AutoDetect for the cookieless attribute. Если файлы cookie поддерживаются при указании UseDeviceProfile или включены при указании AutoDetect, идентификатор сеанса будет храниться в файле cookie; в противном случае идентификатор сеанса будет храниться в URL-адресе.If cookies are supported when UseDeviceProfile is specified, or enabled when AutoDetect is specified, then the session identifier will be stored in a cookie; otherwise the session identifier will be stored in the URL. Дополнительные сведения см. в описании свойства IsCookieless.For more information, see the IsCookieless property.

SessionID передается между сервером и браузером открытым текстом: в файле cookie или в URL-адресе.The SessionID is sent between the server and the browser in clear text, either in a cookie or in the URL. В результате нежелательный источник может получить доступ к сеансу другого пользователя, получая значение SessionID и включая его в запросах к серверу.As a result, an unwanted source could gain access to the session of another user by obtaining the SessionID value and including it in requests to the server. Если конфиденциальная или конфиденциальная информация хранится в состоянии сеанса, рекомендуется использовать SSL для шифрования любого обмена данными между браузером и сервером, содержащим SessionID.If you are storing private or sensitive information in session state, it is recommended that you use SSL to encrypt any communication between the browser and server that includes the SessionID.

При использовании состояния сеанса на основе файлов cookie ASP.NET не выделяет память для данных сеанса до тех пор, пока не будет использован объект Session.When using cookie-based session state, ASP.NET does not allocate storage for session data until the Session object is used. В результате новый идентификатор сеанса создается для каждого запроса страницы до тех пор, пока не будет осуществлен доступ к объекту сеанса.As a result, a new session ID is generated for each page request until the session object is accessed. Если приложению требуется статический идентификатор сеанса для всего сеанса, можно либо реализовать метод Session_Start в файле Global. asax приложения, и сохранить данные в объекте Session, чтобы исправить идентификатор сеанса, или можно использовать код в другой части приложения для явного хранения данных в объекте Session.If your application requires a static session ID for the entire session, you can either implement the Session_Start method in the application's Global.asax file and store data in the Session object to fix the session ID, or you can use code in another part of your application to explicitly store data in the Session object.

Если приложение использует состояние сеанса без файлов cookie, идентификатор сеанса создается в первом представлении страницы и сохраняется для всего сеанса.If your application uses cookieless session state, the session ID is generated on the first page view and is maintained for the entire session.

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

Дополнительно