我有一个 Webhandler,它在我的 asp.net 项目中根据请求生成图像。但是如果用户直接访问资源,则不会触发 Global.asax 文件中的 session start Event。但在我的项目中,我需要触发会话开始事件。我怎样才能做到这一点?
void Session_Start(object sender, EventArgs e)
{
Session["Test"] = 1;
}
Session_Start
每当某些服务器端处理程序尝试读取或写入会话时,都会触发该事件。IRequiresSessionState
您可以尝试使用标记界面装饰您的处理程序:
public class MyHandler: IHttpHandler, IRequiresSessionState
{
...
}
你总是可以创建一个方法Session_Start
并调用它
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;
}
}
}
在您的处理程序中,只需调用Global.StartSession();