Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cannot get session in webmethod in asp.net

Tags:

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?

like image 686
Billy Avatar asked Mar 17 '11 14:03

Billy


People also ask

How do I enable a WebMethod session?

To enable the session in a web service it must use the EnableSession Property of the WebMethod attribute. It must set EnableSession to true as shown in the preceding example. Without setting the EnableSession property to true, the session will not work otherwise the unhandled exception occurs.

How do I use a session variable in WebMethod?

By using one of below codes, string test = Session["UserName"]; or u can test the session by below code.


1 Answers

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.

like image 159
Alexander Yezutov Avatar answered Sep 20 '22 20:09

Alexander Yezutov