2012-06-08 2 views
0

정적 함수에서 현재 사용자 세션을 가져 오려고하는데 usObj가 항상 null입니다.정적 메서드에서 세션을 가져 오려고했지만 NULL을 얻는 중

public static List<RequestTypeBL> GetRequestType(string itemNo, int requestTypeID, int claimID) { 
    UserSession usObj = (UserSession)HttpContext.Current.Session["UserSessionObj"]; 
    RequestTypeBL reqTypeBL; 
    reqTypeBL= SERT_BO.RequestTypeBL.GetClaimRequestType(claimID, requestType, usObj.UserID, itemNo); 

내가 놓친 거지 뭔가를 여기

내가하고있어 무엇인가? 도와주세요.

은 내가 잘 일반 기능에서 다음을 수행 할 수 있어요 : 같은 코드가 개발 실행될 때 예상대로

return (UserSession)Session["UserSessionObj"]; 

나는 우리의 생산 환경에서이 문제를보고하고 있습니다 만, 모든 것이 작동합니다. 어떤 종류의 IIS 설정과 관련이있을 수 있습니까?

+1

Session과 관련된주기가 있습니다. 당신이 시도하고있는 것이 당신이 이것을하려는 시점에 존재하는지 확신합니까? – JamieSee

+0

@antisanity, HttpContext.Current는 현재 컨텍스트를 반환합니다. 왜 함수에 다른 매개 변수를 추가 하시겠습니까? – walther

+2

당신은 아마도 정적 메서드와 인스턴스 메서드를 사용하여 동일한 순서로 ur 메서드를 실행하지 않아도됩니다. 그러나 우리는 더 많은 코드 없이는 정말로 말할 수 없습니다. – YavgenyP

답변

1

한 번 비슷한 일이 생겼습니다. 응용 프로그램 풀이 사용하고있는 작업 스레드의 양 때문에 개발 웹 서버에 하나만 사용되었습니다. 요청이 항상 동일한 스레드에 의해 응답되는 것은 아닙니다. IIS에서 구성 할 위치를 기억하지 못합니다. IIS를 사용하고 있는지도 모릅니다. 도움이 되길 바랍니다.

관련 문제