Billy
Billy

Reputation: 15706

Cannot get session in webmethod in asp.net

I just find that the problem is not related to the webmethod.

It is caused by another problem.

I set the Session["PhotoId"] in a normal aspx. But I can't retrieve value in the webMethod of the aspx page.

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

What should I do?

Upvotes: 9

Views: 26406

Answers (2)

Diwakar
Diwakar

Reputation: 11

You should use ToString() method to use session as a string.

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

Upvotes: 1

Alexander Yezutov
Alexander Yezutov

Reputation: 3214

As I see, everything should be fine here.

As far as HttpContext.Current.Session is not null, session state is supported here. Please ensure, that you set Session["PhotoId"].

You can test whether it is the same session by examining

 HttpContext.Current.Session.SessionID

in both normal ASPX and WebMethod.

Upvotes: 14

Related Questions