DJ메탈짱™의 Free Style

[ASP.NET] Session Mode 본문

일(job)/MS(Microsoft)

[ASP.NET] Session Mode

뽀&쏭 2020. 12. 25. 15:53

<sessionState mode="Off|InProc|StateServer|SQLServer"
               cookieless="true|false"
               timeout="number of minutes"
  stateConnectionString="tcpip=server:port"
               sqlConnectionString="sql connection string"
               stateNetworkTimeout="number of seconds"/>

<필수 특성>

특성옵션설명

mode     세션 상태를 저장할 위치를 지정합니다.
    Off 세션 상태가 해제되었음을 나타냅니다.
    InProc 세션 상태가 로컬에 저장되었음을 나타냅니다.
    StateServer 세션 상태가 원격 서버에 저장되었음을 나타냅니다.
    SQLServer 세션 상태가 SQL Server에 저장되었음을 나타냅니다.

선택적 특성

특성옵션설명

cookieless     클라이언트 세션을 식별하는 데 쿠키가 없는 세션을 사용할지 여부를 지정합니다.
    true 쿠키가 없는 세션이 사용되도록 지정합니다.
    false 쿠키가 없는 세션이 사용되지 않도록 지정합니다. 기본값은 false입니다.
timeout     중단되기 전에 세션이 유휴 상태를 유지할 수 있는 시간(분 단위)을 지정합니다. 기본값은 20입니다.
stateConnectionString     세션 상태가 원격으로 저장된 서버 이름 및 포트를 지정합니다. 예를 들어, "tcpip=127.0.0.1:42424"를 지정할 수 있습니다. 이 특성은 mode StateServer일 때 필수입니다.
sqlConnectionString     SQL Server의 연결 문자열을 지정합니다. 예를 들어, "data source=localhost;Integrated Security=SSPI;Initial Catalog=northwind"를 설정할 수 있습니다. 이 특성은 mode SQLServer일 때 필수입니다.
stateNetworkTimeout     StateServer 모드를 사용하여 세션 상태를 저장할 때 세션이 중단되기 전에 웹 서버와 상태 서버 간의 TCP/IP 네트워크 연결이 유휴 상태를 유지할 수 있는 시간(초)을 지정합니다. 기본값은 10입니다.

<설명>

StateServer 모드를 사용하려면

  1. ASP.NET 상태 서비스가 세션 상태 정보를 저장할 원격 서버에서 실행 중인지 확인합니다. 이 서비스는 ASP.NET과 함께 설치되며 기본적으로 <Drive>:\systemroot\Microsoft.NET\Framework\version\aspnet_state.exe에 위치합니다.
  2. 응용 프로그램의 Web.config 파일에서 mode=SQLServer  sqlConnectionString 특성을 설정합니다. 예를 들어, stateConnectionString="tcpip=dataserver:42424"를 설정할 수 있습니다.

SQLServer 모드를 사용하려면

  1. 세션 상태를 저장할 SQL Server가 있는 시스템에서 InstallSqlState.sql(기본 설치 위치는 <Drive>:\systemroot\Microsoft.NET\Framework\version)을 실행합니다. 이렇게 하면 새 저장 프로시저를 포함하는 ASPState라는 데이터베이스가 만들어지고 TempDB 데이터베이스에는 ASPStateTempApplications 및 ASPStateTempSessions 테이블이 만들어집니다.
  2. 응용 프로그램의 Web.config 파일에서 mode=SQLServer  sqlConnectionString 특성을 설정합니다. 예를 들어, sqlConnectionString="data source=localhost;Integrated Security=SSPI;Initial Catalog=northwind"를 설정할 수 있습니다.

<예제>

다음 예제에서는 여러 세션 상태 구성 설정을 지정합니다.

<configuration> <system.web> <sessionState mode="InProc" cookieless="true" timeout="20"/> </sessionState> </system.web> </configuration><요구 사항>

포함된 위치: <system.web>

웹 플랫폼: IIS 5.0, IIS 5.1, IIS 6.0

구성 파일: Machine.config, Web.config

구성 섹션 처리기: System.Web.SessionState.SessionStateSectionHandler

 

<참고사이트>

http://msdn.microsoft.com/library/kor/default.asp?url=/library/KOR/cpgenref/html/gngrfSessionstateSection.asp