Udostępnij za pośrednictwem


sessionState elementu (ASP.Schemat ustawień netto)

[This documentation is for preview only, and is subject to change in later releases. Blank topics are included as placeholders.]

Konfiguruje ustawienia stanu sesji dla bieżącej aplikacji.

<sessionState 
    mode="[Off|InProc|StateServer|SQLServer|Custom]"
    timeout="number of minutes"
    cookieName="session identifier cookie name"
    cookieless=
         "[true|false|AutoDetect|UseCookies|UseUri|UseDeviceProfile]"
    regenerateExpiredSessionId="[True|False]"
    sessionIDManagerType="session manager type"
    sqlConnectionString="sql connection string"
    sqlCommandTimeout="number of seconds"
    allowCustomSqlDatabase="[True|False]"
    useHostingIdentity="[True|False]"
    stateConnectionString="tcpip=server:port"
    stateNetworkTimeout="number of seconds"
    customProvider="custom provider name"
    compressionEnabled="[True|False]"
    sqlConnectionRetryInterval="number of seconds">
    <providers>...</providers>
</sessionState>

Atrybuty i elementy

W poniższych sekcjach opisano atrybuty i elementy podrzędne elementy nadrzędne.

Atrybuty

Atrybut

Opis

allowCustomSqlDatabase

Opcjonalny Boolean atrybut.

Określa, czy baza danych SQL stanu sesji może być niestandardową bazę danych, zamiast programu ASP.NET domyślnej bazy danych. Jeśli false, initial catalog ani bazy danych nie można określić jako wartość dla sqlConnectionString atrybut. Domyślną bazę danych SQL stanu sesji jest ASPState bazy danych. Aby uzyskać więcej informacji, zobaczSession State Modes.

Ten atrybut jest nowego w.NET Framework w wersji 2.0.

Wartością domyślną jest false.

compressionEnabled

Opcjonalny Boolean atrybut.

Określa, czy kompresja jest stosowany do dane o stanie sesji.

Wartością domyślną jest false.

cookieless

Opcjonalny HttpCookieMode atrybut.

Określa, w jaki sposób pliki cookie są używane dla aplikacji sieci Web.

cookieless Atrybut może być jedną z następujących możliwych wartości. Wartością domyślną jest UseCookies wartości.

NoteNote
Po skonfigurowaniu aplikacji ASP z obsługą technologii AJAX.NET witryny sieci Web, należy użyć tylko wartości domyślne z UseCookies do cookieless atrybut.Ustawienia, które używają plików cookie zakodowane w adresie URL nie są obsługiwane przez program ASP.NET AJAX bibliotek skrypt klienta.
WartośćOpis
AutoDetect ASP.NET określa, czy wnioskujący przeglądarki lub urządzenie obsługuje pliki cookie.Jeżeli wnioskujące przeglądarki lub urządzenie obsługuje pliki cookie, AutoDetect używa plików cookie do utrwalania danych użytkownika; w przeciwnym razie identyfikator jest używany w ciągu kwerendy.Jeśli przeglądarka lub urządzenie obsługuje pliki cookie, ale pliki cookie są aktualnie wyłączone, pliki cookie są nadal używane przez funkcję wnioskującego.
UseCookies Pliki cookie pozostają danych użytkownika, niezależnie od tego, czy przeglądarka lub urządzenie obsługuje pliki cookie.
UseDeviceProfile ASP.NET określa, czy używać plików cookie oparte na HttpBrowserCapabilities ustawienie.Jeśli HttpBrowserCapabilities ustawienie wskazuje, że przeglądarka lub urządzenie obsługuje pliki cookie, pliki cookie są używane; w przeciwnym razie identyfikator jest używany w ciągu kwerendy.
UseUri Wywołanie funkcji wykorzystuje ciąg kwerendy do przechowywania identyfikatora, niezależnie od tego, czy przeglądarka lub urządzenie obsługuje pliki cookie.

cookieName

Opcjonalny String atrybut.

Określa nazwę pliku cookie, który przechowuje identyfikator sesji.

Ten atrybut jest nowego w.NET Framework w wersji 2.0.

Wartością domyślną jest "ASP.NET_SessionId".

customProvider

Opcjonalny String atrybut.

Określa nazwę niestandardowego dostawcy stanu sesji, służących do przechowywania i pobierania danych o stanie sesji. Dostawca jest określona w dostawców element. Dostawca jest używana tylko wtedy, gdy tryb stanu sesji jest ustawiony na Custom wartości. Aby uzyskać więcej informacji, zobacz Session State Modes.

Ten atrybut jest nowego w.NET Framework w wersji 2.0.

Wartością domyślną jest ciąg pusty ("").

mode

Opcjonalny SessionStateMode atrybut.

Określa, gdzie należy przechowywać wartości stanu sesji. Aby uzyskać więcej informacji, zobacz Session State Modes.

mode Atrybut może być jedną z następujących możliwych wartości. Wartością domyślną jest InProc wartości.

WartośćOpis
Custom Stan sesji jest przy użyciu informacji stanu sesji Sklepu niestandardowych danych.
InProc Stan sesji jest w procesie z aplikacji ASP.Proces roboczy netto.
Off Stan sesji jest wyłączony.
SQLServer Stan sesji jest używana baza danych programu SQL Server out of process do przechowywania informacji o stanie.
StateServer Stan sesji jest za pomocą ASP out of process.NET state service do przechowywania informacji o stanie.

partitionResolverType

Opcjonalny String atrybut.

Określa, gdzie należy przechowywać stanu sesji. Jeśli wartość jest określona w partitionResolverType atrybut, sqlConnectionString i stateConnectionString atrybuty są ignorowane. Ciąg połączenia, który jest zwracany przez PartitionResolverType właściwość jest używana na każde żądanie, aby połączyć się z lokalizacji odpowiedniego serwera, na okres pozostający do żądania. Jeśli ciąg połączenia jest nieprawidłowy, ASP.NET generuje ten sam wyjątek, który jest generowany, gdy ciąg skonfigurowane połączenie z serwerem jest nieprawidłowy. Ta właściwość jest używana do partycji dane o stanie sesji wśród wielu węzłów wewnętrznej bazy danych, gdy w języku SQL lub trybu serwera stanu.

Ten atrybut jest nowego w.NET Framework w wersji 2.0.

Wartość domyślna to pusty ciąg.

regenerateExpiredSessionId

Opcjonalny Boolean atrybut.

Określa, czy identyfikator sesji zostanie wznowione, gdy identyfikator sesji minął jest określony przez klienta. Domyślnie, identyfikatory sesji są ponownie tylko dla cookieless tryb po regenerateExpiredSessionId jest włączone. Aby uzyskać więcej informacji, zobacz IsCookieless.

Ten atrybut jest nowego w.NET Framework w wersji 2.0.

Wartością domyślną jest true.

sessionIDManagerType

Opcjonalny String atrybut.

Określa typ pełną identyfikator menedżera sesji. Wartością domyślną jest ciągiem pustym.

sqlCommandTimeout

Opcjonalny TimeSpan atrybut.

Określa limit czasu trwania w sekundach, dla polecenia SQL, korzystają z trybu stanu sesji programu SQL Server. Limit czasu trwania jest liczba sekund, przez które polecenia SQL może być bezczynny, przed jej anulowaniem.

Ten atrybut jest nowego w.NET Framework w wersji 2.0.

Wartością domyślną jest 0:00:30 (30 sekund).

sqlConnectionRetryInterval

Opcjonalny TimeSpan atrybut.

Określa interwał czasu w sekundach między próbami nawiązania połączenia z bazą danych.

Wartością domyślną jest 0 sekund.

sqlConnectionString

Opcjonalny String atrybut.

Określa ciąg połączenia dla komputera z programem SQL Server. Ten atrybut jest wymagany, gdy mode atrybut jest ustawiony na SQLServer wartości. Aby uzyskać więcej informacji, zobacz Session State Modes.

Można ustawić ten atrybut do nazwanych sqlConnectionString z connectionStrings węzeł lub użyj następującej składni:

sqlConnectionString="Data Source=.\SQLServer2005;Initial Catalog=SessionState;Integrated Security=SSPI;"
NoteNote
W celu zwiększenia bezpieczeństwa aplikacji, podczas korzystania z SQLServer tryb, użyj Protected Configuration w celu ochrony sqlConnectionString wartość szyfrując sessionState sekcji konfiguracji.

Wartością domyślną jest "data source=127.0.0.1;Integrated Security=SSPI".

stateConnectionString

Opcjonalny String atrybut.

Określa nazwę serwera lub adres i port, w którym stan sesji jest przechowywany zdalnie. Wartość portu musi być 42424. Ten atrybut jest wymagany, gdy mode jest StateServer wartości. Upewnij się, że ASP.Usługa stanu netto jest uruchomiona na serwerze zdalnym, który przechowuje informacje o stanie sesji. Ta usługa jest instalowana przy użyciu stron ASP.NET, a domyślnie znajduje się w % windir%\Microsoft.NET\Framework\VersionNumber\aspnet_state.exe. Aby uzyskać więcej informacji, zobacz Session State Modes.

NoteNote
W celu zwiększenia bezpieczeństwa aplikacji, podczas korzystania z StateServer tryb, użyj Protected Configuration w celu ochrony stateConnectionString wartość szyfrując sessionStatesekcji konfiguracji.

Wartością domyślną jest "tcpip=127.0.0.1:42424".

stateNetworkTimeout

Opcjonalny TimeSpan atrybut.

Określa liczbę sekund, które połączenie sieciowe TCP/IP między serwerem sieci Web a serwerem stanu może być bezczynny, zanim żądanie zostanie anulowane. Ten atrybut jest używany podczas mode atrybut jest ustawiony na StateServer wartości.

Wartością domyślną jest 10 sekund.

timeout

Opcjonalny TimeSpan atrybut.

Określa liczbę minut, przez które sesja może być bezczynna, zanim zostanie ona zaniechana. timeout Nie można ustawić atrybutu na wartość, która jest większa niż 525,600 minut (1 rok) dla trybów w proces a serwerem stanu.

Sesja timeout konfiguracji ustawienie dotyczy tylko ASP.NET stron. Zmiana sesji timeout wartość nie wpływa na limit czasu sesji dla stron ASP. Podobnie zmiana limitu czasu sesji dla stron ASP nie wpływa na limit czasu sesji dla aplikacji ASP.NET stron.

Wartością domyślną jest 20 minut.

useHostingIdentity

Opcjonalny Boolean atrybut.

Określa, czy stan sesji będzie powrócić do obsługi tożsamości lub użyć personifikacji klienta.

If true, ASP.NET łączy do Sklepu stanu sesji przy użyciu jednego z następujących poświadczeń procesów:

  • Proces obsługujący, który jest ASPNET Microsoft Internet Information Services (IIS) w wersji 5 i ppkt 5.1 lub sieci usługi dla systemu Microsoft Windows Server 2003.

  • Tożsamości personifikacji aplikacji, która jest w przypadku następującej konfiguracji:

    <identity impersonate="true" userName="Domena" password="bezpieczne hasło" />

If false, ASP.NET łączy do Sklepu stanu sesji przy użyciu poświadczeń, które są obecnie skojarzone z wątkiem systemu operacyjnego dla bieżącego żądania. Dla personifikacja klienta ASP.NET połączy się z magazynu stanu sesji przy użyciu poświadczeń zabezpieczeń, które zostały wynegocjowane z przeglądarką. If false, ASP.NET nie powracają do tożsamości procesu lub tożsamości personifikacji aplikacji, podczas nawiązywania połączenia z magazynem stanu sesji. Aby uzyskać więcej informacji, zobacz ASP.NET Impersonation.

Ten atrybut jest nowego w.NET Framework w wersji 2.0.

Wartością domyślną jest true.

NoteNote
W.NET Framework w wersji 1.1, jeśli mode atrybut był ustawiony na SQLServer, a personifikacja klienta obowiązywały, ASP.NET jest podłączony do komputera z programem SQL Server przy użyciu poświadczeń klienta z ASP.Personifikacja klienta netto.

Atrybuty dziedziczone

Opcjonalne atrybuty.

Atrybuty dziedziczone przez wszystkie elementy z sekcji.

Elementy podrzędne

Element

Opis

providers

Zawiera kolekcję dostawców niestandardowych magazynu stanu sesji.

Elementy nadrzędne

Element

Opis

configuration

Element główny wymagane w każdym pliku konfiguracyjnym, który jest używany przez aparatu plików wykonywalnych języka wspólnego oraz.NET Programowanie aplikacji.

system.web

Określa element główny dla aplikacji ASP.Ustawienia konfiguracji netto w konfiguracji pliku i zawiera elementy, które konfigurowania aplikacji ASP.NET aplikacje sieci Web i kontrolować zachowanie tych aplikacji.

Uwagi

<sessionState> Element konfiguruje ustawienia stanu sesji dla bieżącej aplikacji.

Gdy rozpocznie się nowego klienta, interakcja z aplikacji sieci Web, identyfikator sesji jest wydane i skojarzone z kolejnych żądań z tego samego klienta podczas sesji jest nieprawidłowa. Ten identyfikator jest używany do utrzymywania stanu po stronie serwera, który jest skojarzony z sesji klientów żądań. <sessionState> Element kontroli jak ASP.NET ustanawia oraz utrzymuje to skojarzenie dla każdego klienta.

Mechanizm ten jest bardzo elastyczny i pozwala udostępniać informacje stanu sesji z procesu i śledzić stan bez używania plików cookie, między innymi.

Maksymalny rozmiar identyfikatora URI może przekroczyć podczas wysyłania identyfikator sesji w identyfikatorze URI. Jeśli kombinacja bilet anonimowy identyfikator formularze biletu uwierzytelniania, identyfikator sesji i dane użytkownika jest większa niż maksymalna dopuszczalna długość identyfikatora URI, nie powiedzie się błędem żądania 400-Złe żądanie.

Aby używać trybu StateServer

  1. Upewnij się, że na serwerze zdalnym, w którym będą przechowywane informacje o stanie sesji, ASP.Usługa stanu netto jest uruchomiona.

    Program ASP.NET state service jest instalowany z ASP.NET, a domyślnie znajduje się w % windir%\Microsoft.NET\Framework\version\aspnet_state.exe.

  2. W pliku Web.config aplikacji ustaw mode do "StateServer" i stateConnectionString do wartości, takie jak "tcpip=dataserver:42424".

Aby używać trybu SQLServer

  1. Na komputerze z programem SQL Server, która będzie przechowywała stanu sesji Uruchom program InstallSqlState.sql.

    Domyślnie jest InstallSqlState.sql w % windir%\Microsoft.NET\Framework\version.

    Spowoduje to utworzenie bazy danych o nazwie ASPState z nowymi przechowywanymi procedurami oraz tabele o nazwach ASPStateTempApplications i ASPStateTempSessions w bazie danych TempDB.

  2. W pliku Web.config aplikacji ustaw mode do "SQLServer" i sqlConnectionString do wartości, takie jak "data source=localhost;Integrated Security=SSPI;".

    Uwaga

    Aspnet_regsql.exe można użyć do wykonania tych kroków.

Informacje dotyczące uzyskiwania dostępu do i modyfikowanie wartości konfiguracji <sessionState> elementem kodu aplikacji, zobacz SessionStateSection i System.Web.SessionState.

Domyślna konfiguracja

Następujące domyślne <sessionState> element nie jest jawnie skonfigurowane w pliku Machine.config lub głównego pliku Web.config. Jednakże jest konfiguracji domyślnej, która jest zwracana przez aplikację.

<sessionState 
   mode="InProc" 
   stateConnectionString="tcpip=127.0.0.1:42424" 
   stateNetworkTimeout="10" 
   sqlConnectionString="data source=127.0.0.1;Integrated Security=SSPI" 
   sqlCommandTimeout="30" 
   customProvider="" 
   cookieless="UseCookies" 
   cookieName="ASP.NET_SessionId" 
   timeout="20" 
   allowCustomSqlDatabase="false" 
   regenerateExpiredSessionId="true" 
   partitionResolverType="" 
   useHostingIdentity="true">
   <providers>
      <clear />
   </providers>
</sessionState>

Przykład

Poniższy przykład ilustruje sposób określić ustawienia konfiguracji stanu sesji.

<sessionState
   mode="SQLServer"
   cookieless="true"
   sqlConnectionString=" Integrated Security=SSPI;data source=MySqlServer;"
   sqlCommandTimeout="10" />

Informacje o elementach

Program obsługi sekcji konfiguracji

SessionStateSection

Członkowskie konfiguracji

System.Web.SessionState

Lokalizacje konfigurowalne

Machine.config

Web.config na poziomie katalogu głównego

Poziom aplikacji Web.config

Wymagania

Microsoft Internet Information Services w wersji 5.0, 5.1 lub 6.0

.NET Framework w wersji 1.0, 1.1 lub 2.0

Microsoft Visual Studio 2003 lub Visual Studio 2005

Zobacz też

Zadania

How to: Configure Specific Folders Using Location Settings

How to: Lock ASP.NET Configuration Settings

Informacje

System.Web elementu (ASP.Schemat ustawień netto)

dostawców elementu dla sessionState (ASP.Schemat ustawień netto)

Konfiguracja elementu (schemat ustawień ogólne)

System.Configuration

System.Web.Configuration

SessionStateSection

System.Web.SessionState

Koncepcje

ASP.NET Impersonation

Session State Modes

Securing Session State

ASP.NET Configuration File Hierarchy

Securing Configuration

Configuration Inheritance

Inne zasoby

Protected Configuration

Ogólne ustawienia konfiguracji (ASP.(NET)

ASP.NET ustawienia konfiguracji

Configuring ASP.NET Applications

ASP.NET Configuration API