2010-03-25 4 views
2

null입니다. context.session 변수가 null이라는 것을 때때로 발견했습니다.하여 WebPart context.session 그래서 나는이 같은 속성을 가지고 ... 내는 WebPart에 대한 상태 변수를 저장하는 세션 배열을 사용하고

세션이 처음에 null이 될 수있는 조건이 무엇인지 알고 싶습니다.이 문제가 발생하면 내 개체를 유지하는 가장 좋은 방법은 무엇입니까? 컨텍스트에 새로운 HttpSessionState 객체를 할당 할 수 있습니까, 아니면 그 일을 망칠 수 있습니까?


편집 : 좋습니다. 따라서 세션이 null이 아닌 ... 전체 컨텍스트가 엉망입니다. webpart가 init에 들어갈 때 컨텍스트는 괜찮습니다 ... 그러나 dropbox selectedindexchange postback 이벤트 (dropbox에 rootnode 변수를 설정하는 데 사용할 노드 ID가 포함됨)에 도달하면 컨텍스트에 대부분 null 속성이 포함됩니다.

또한 특정 ID를 선택한 경우에만 발생하는 것으로 보입니다. 이것은 세션에 대한 나의 이해에 문제가있는 것보다 좀 더 이상한 버그와 비슷합니다.

답변

0

System.Web.HttpContext.Current.Session는

그러나, 상황은 말 당, 클래스에 의존하지 않습니다. 사용중인 페이지/핸들러의 컨텍스트에 따라 다릅니다.

-Theo

0

나는이있는 파일의 형식 모르지만 나는 .ASHX 파일과 비슷한 문제가 있었다. 해결 방법은 처리기가 IReadOnlySessionState (읽기 전용 액세스 용) 또는 IRequiresSessionState (읽기/쓰기 액세스 용)를 구현해야한다는 것입니다. 예 :

public class login : IHttpHandler, IRequiresSessionState { ... } 

이러한 인터페이스는 추가 코드가 필요하지 않지만 프레임 워크의 마커 역할을합니다.

희망이 도움이됩니다.

조나단

관련 문제