2012-06-23 8 views
0

변수를 전달하기 위해 세션을 사용하고 있지만 세션에 로그인 한 후 서버에서 2 ~ 3 분 후에 자동으로 만료됩니다. 무엇이 문제 일 수 있습니까?asp.net 세션 만료

webconfig 파일 :

<sessionState timeout="1440" mode="InProc"></sessionState> 
    <authentication mode="Forms"> 
     <forms name="School" loginUrl="Login.aspx" defaultUrl="default.aspx" 
       timeout="1440" slidingExpiration="true" protection="All" path="/" /> 
    </authentication> 

나는 시간 제한을 변경했지만 작동하지 않습니다.

+1

코드를 게시하는 것을 잊지 않았다? –

+0

@RayCheng XML 텍스트는 코드 블록이 아니라면 나중에 해석됩니다. 나중에 코드를 편집하고 형식을 지정하십시오. : D – Baz1nga

+0

@ Baz1nga, 나는 그 사실을 몰랐습니다. 팁 고마워. –

답변

1

Enablecheck the logs 및 응용 프로그램 풀은 일부 (configurable) 이유로 다시 시작하면 performance countersloses it's sessions. 예를 들어, 메모리가 부족한 경우 (공유 응용 프로그램 풀이있는 경우), 분당 오류가 너무 많거나 (예 : 검색 엔진 스파이더로 인해 "숨겨진"오류가 발생할 수 있음) 변경 사항이있는 경우 관측 된 파일 또는 관찰 된 폴더 (예 : web.config 또는 bin\).

응용 프로그램 풀을 다시 시작하면 모든 in process 세션이 삭제 ("만료")되므로 세션의 가동 시간 요구 사항에 따라 ASP.NET/Windows State Service/Server과 같은 프로세스 외부 세션 상태 저장소를 사용하여 문제를 "수정"할 수 있습니다. 또는 SQL Server.

IIS 구성이나 서버 문제가 아닌 코드 문제 일 경우 언제든지 ServerFault으로 문의하십시오.

0

세션 및 양식에 대한 시간 초과 설정은 괜찮은 것처럼 보일 수 있지만 여러 가지 방법으로 시간이 초과되었다고 생각할 수 있습니다. 다음과 같이 문제를 조사해 보시기 바랍니다 :

네트워크 설정 : 서버 부하가 분산되어있는 경우 구성이 세션과 함께 작동하는지 확인하십시오.

응용 프로그램 풀 : IIS에서 응용 프로그램 풀 새로 고침/재설정 규칙을 확인하십시오. 20 요청마다 수영장을 새로 고칠 수있는 설정이 없는지 확인하십시오.

작업 관리자 : 작업 관리자를보고 IIS 작업자 프로세스가 수행하는 작업 (w3wp.exe)을 확인하십시오. 안티 바이러스 프로그램에 의해 죽어 가고 있습니까? 그렇다면 세션 시간이 초과 될 것입니다.

이벤트 로그 : 마지막으로 Windows 이벤트 로그를 살펴보십시오. 시간 초과와 관련된 이벤트 항목이 있는지 확인하십시오.

0

이 Global.asax.cs

이 추가
protected void Session_Start(object sender, EventArgs e) 
     { 
      Session.Timeout = 240; 
     } 
+0

이 코드의 효과는 ....... –