Subin Jacob
Subin Jacob

Reputation: 4864

How can I trigger Session Start (Global.asax) Event for a WebHandler Request?

I have a Webhandler which generates an image on request in my asp.net Project. But if the user directly access the resource, it won't trigger the session start Event in the Global.asax file. But in my project I need to trigger the session start event. How can I achieve this?

 void Session_Start(object sender, EventArgs e) 
    {
        Session["Test"] = 1;

    }

Upvotes: 10

Views: 22424

Answers (2)

balexandre
balexandre

Reputation: 75103

You can always make a method of the Session_Start and call it

namespace WebFormsApplication1
{
    public class Global : HttpApplication
    {
        void Session_Start(object sender, EventArgs e) 
        {
            Global.StartSession();
        }
    }

    public static class Global 
    {
        public static void StartSession() {

            Session["Test"] = 1;
        }
    }
}

and in your Handler, simply call Global.StartSession();

Upvotes: 2

Darin Dimitrov
Darin Dimitrov

Reputation: 1038950

The Session_Start event is trigerred whenever some server side handler attempts to either read or write to the session. You might try decorating your handler with the IRequiresSessionState marker interface:

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

Upvotes: 7

Related Questions