2012-01-10 2 views
0

세션 데이터에 매우 이상한 문제가 있습니다. InProc 세션 모드를 사용할 때 문제가 나타나지 않습니다.
이 그런 일이 어떻게 :
1. HttpContext.Current.Session["testparam"] = "string value";
2. 나는 Page.Unload 이벤트에서이 데이터를 확인하십시오. 데이터가 아직 남아 있습니다.
3. 다른 요청을 시작한 후에 데이터를 삭제하지는 않았지만 Page.OnInit에 데이터를 가져올 수 없습니다.SQLServer 세션 모드를 사용할 때 세션 데이터가 사라짐

추가 정보 :
로그에 일련 화 오류가 없습니다.
세션 데이터베이스는 procedure을 사용하여 생성됩니다.
IIS 및 ASP.NET 개발 서버 모두에 오류가 나타납니다.
SQLServer 모드와 AppFabric 분산 캐시 모드를 모두 시도했습니다.

아이디어가 없기 때문에 도움을 주시면 감사하겠습니다.

+0

당신은 오류를 게시 할 수 있습니다 .. HttpContext.Current.Session을 할당하는 코드 또한 Onload 및 onInit 코드가 도움이 될 수 있습니다 .. 당신은 Global.asax 페이지 ..와 같은 것이 있습니까? – MethodMan

+0

오류가 없습니다. 두 번째 요청에서 세션 변수가 null로 설정되었습니다 (세션에서 EntriesTable을 보았습니다). global.asax 있지만 세션 변수 값을 설정하지 마십시오. – Filip

+0

실례합니다. 방법을 모르겠지만 출력 창 끝에 명백한 직렬화 예외가 누락되었습니다. 콜백 중에 예외가 발생했기 때문에 응용 프로그램이 계속 작동한다고 가정합니다. – Filip

답변

1

두 번째 페이지의 페이지 지시문에서 EnableSessionState이 false로 설정되어 있는지 확인하십시오. false로 설정하면 페이지로드시 SQL에서 값을 가져 오지 않습니다. 반면, 이것은 InProc 모드에서는 발생하지 않습니다.

+0

어떤 페이지에서나 EnableSessionState를 사용하지 않습니다. – Filip

관련 문제