2011-03-17 5 views
7

나는이 문제가 webmethod와 관련이 없음을 발견했습니다.asp.net의 webmethod에서 세션을 가져올 수 없습니다.

다른 문제가 원인입니다.

Session["PhotoId"]을 정상 aspx로 설정했습니다. 그러나 aspx 페이지의 webMethod에서 값을 검색 할 수 없습니다.

[WebMethod(EnableSession=true)] 
    public static string Submit(string data1, ...) 
    { 
     string test = HttpContext.Current.Session["PhotoId"]; // test is null 
    } 

어떻게해야합니까?

+1

sessionid가 동일한 지 확인하십시오. – Aravind

답변

13

내가 알기로는 모든 것이 잘되어야합니다.

HttpContext.Current.Session이 null이 아닌 한 여기서 세션 상태가 지원됩니다. Session [ "PhotoId"]를 설정했는지 확인하십시오.

당신은이 같은 세션이 일반 ASPX와의 WebMethod 모두

HttpContext.Current.Session.SessionID 

를 검사하여 있는지 여부를 테스트 할 수 있습니다.

+0

세션 ID가 다릅니다. 이것은 내 문제를 해결하는 데 도움이됩니다. 감사. – Billy

+3

문제를 어떻게 해결했는지 공유 할 수 있습니까? –

+0

SessionId가 어떻게 또는 왜 다른가요? – ibubi

0

세션을 문자열로 사용하려면 ToString() 메서드를 사용해야합니다.

[WebMethod(EnableSession=true)] 
public static string Submit(string data1, ...) 
{ 
    string test = HttpContext.Current.Session["PhotoId"].ToString(); 
} 
관련 문제