.NET [ASP.NET] Session.Timeout 우선순위
페이지 정보
본문
세션 타임 아웃이란 서버와 클라이언트 사이의 연결이 일정시간 일어나지 않는다면 연결 상태를 잊어버리는 것을 의미합니다
쉽게 말해서 컴퓨터 하다가 장기간 자리를 비우면 웹페이지에서 자동으로 로그아웃 되어 버리는 것이죠
오늘은 ASP.NET에서의 세션 타임 아웃에 관한 우선순위를 알아보죠.
1위: 페이지 설정
우선순위가 가장높은 아이는 바로 페이지에서의 설정입니다.
Form_Load()이벤트에들어가셔서 Session.Timeout=60 이라고 기술하시면 60분동안 세션끊김은 일어나지않습니다.
범위: 그 페이지에서만 유효 합니다.
2위: global.asax 설정
두번째는 글로벌환경설정에서의 기술입니다.
Application_Start메소드에서 Session.Timeout=60 이라고 기술하시면 위와 같이 60분동안 세션 연결이 가능합니다.
범위: 한 세션내에서 유효 합니다.
3위: web.config 설정
세번째로 웹닷컨피그 파일이군요.
일반적으로 가장 많이 사용되는 설정입니다.
보통 우리가 아는 대부분의 ASP.NET 싸이트가 여기에 해당하겠죠.
<system.web>
~~~(생략)~~~
<sessionState mode="InProc" timeout="60" />
</system.web>
범위:웹싸이트 전역에서 유효합니다.(가장 편리하죠)
4위:machine.config 설정
이거는 하나의 웹서버에 두개이상의 웹싸이트가 존재할 경우에나 유효합니다.
한마디로 일반적으로는별 신경안써도 되는 놈들이죠
그래도 혹시나 해서 경로를 적어둡니다.
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG
폴더 밑에 machine.config 파일이 존재합니다.
<sessionState mode="InProc"
stateConnectionString="tcpip=127.0.0.1:42424"
stateNetworkTimeout="10" sqlConnectionString="data
source=127.0.0.1;Integrated Security=SSPI"cookieless="false"
timeout="60"/>
이라고 기술해 주시면 60분으로 적용이 됩니다.
오늘은 세션의 타입 아웃에 관해서 알아 보았습니다.
위의 4가지를 설정해 주셔도 세션끊김 현상이 발생 할 수 있습니다.
IIS서버의 설정이 기본으로 20분으로 잡혀 있기 때문이죠 그러면 IIS서버를 열어서 설정화면에서 시간을 늘려 주세요
그리고 세션이 모두 살아 있다고 해서 로그아웃이 안되는것도 아니랍니다.
예를 들어서 권한이 없어져도 세션끊김 현상과 같은 증상이 나타납니다.
그렇기 때문에 권한끊김 시간도 확인해 보시는게 좋을듯 합니다.
자료인용
http://jajking-textcube.blogspot.kr/2009/08/aspnet-에서의-세션-타임아웃-설정의-우선순위session.html
쉽게 말해서 컴퓨터 하다가 장기간 자리를 비우면 웹페이지에서 자동으로 로그아웃 되어 버리는 것이죠
오늘은 ASP.NET에서의 세션 타임 아웃에 관한 우선순위를 알아보죠.
1위: 페이지 설정
우선순위가 가장높은 아이는 바로 페이지에서의 설정입니다.
Form_Load()이벤트에들어가셔서 Session.Timeout=60 이라고 기술하시면 60분동안 세션끊김은 일어나지않습니다.
범위: 그 페이지에서만 유효 합니다.
2위: global.asax 설정
두번째는 글로벌환경설정에서의 기술입니다.
Application_Start메소드에서 Session.Timeout=60 이라고 기술하시면 위와 같이 60분동안 세션 연결이 가능합니다.
범위: 한 세션내에서 유효 합니다.
3위: web.config 설정
세번째로 웹닷컨피그 파일이군요.
일반적으로 가장 많이 사용되는 설정입니다.
보통 우리가 아는 대부분의 ASP.NET 싸이트가 여기에 해당하겠죠.
<system.web>
~~~(생략)~~~
<sessionState mode="InProc" timeout="60" />
</system.web>
범위:웹싸이트 전역에서 유효합니다.(가장 편리하죠)
4위:machine.config 설정
이거는 하나의 웹서버에 두개이상의 웹싸이트가 존재할 경우에나 유효합니다.
한마디로 일반적으로는별 신경안써도 되는 놈들이죠
그래도 혹시나 해서 경로를 적어둡니다.
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG
폴더 밑에 machine.config 파일이 존재합니다.
<sessionState mode="InProc"
stateConnectionString="tcpip=127.0.0.1:42424"
stateNetworkTimeout="10" sqlConnectionString="data
source=127.0.0.1;Integrated Security=SSPI"cookieless="false"
timeout="60"/>
이라고 기술해 주시면 60분으로 적용이 됩니다.
오늘은 세션의 타입 아웃에 관해서 알아 보았습니다.
위의 4가지를 설정해 주셔도 세션끊김 현상이 발생 할 수 있습니다.
IIS서버의 설정이 기본으로 20분으로 잡혀 있기 때문이죠 그러면 IIS서버를 열어서 설정화면에서 시간을 늘려 주세요
그리고 세션이 모두 살아 있다고 해서 로그아웃이 안되는것도 아니랍니다.
예를 들어서 권한이 없어져도 세션끊김 현상과 같은 증상이 나타납니다.
그렇기 때문에 권한끊김 시간도 확인해 보시는게 좋을듯 합니다.
자료인용
http://jajking-textcube.blogspot.kr/2009/08/aspnet-에서의-세션-타임아웃-설정의-우선순위session.html
댓글목록
등록된 댓글이 없습니다.