ASP.NET:如何从处理程序访问会话?[复制]
-
21-08-2019 - |
题
这个问题在这里已经有答案了:
我是 尝试在中存储一些值 会议 从一个 处理程序 页, ,在我重定向到 WebForms 页面之前,它将获取 会议 值并预填写 WebForm:
public class Handler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
...
context.Session["StackOverflow"] = "overflowing";
context.Response.Redirect("~/AnotherPage.aspx");
...
}
...
}
除了 context.Session
对象为空。
如何从处理程序访问会话状态?
解决方案
实施 System.Web.SessionState.IRequiresSessionState 界面
public class Handler : IHttpHandler, System.Web.SessionState.IRequiresSessionState
{
public void ProcessRequest(HttpContext context)
{
context.Session["StackOverflow"] = "overflowing";
context.Response.Redirect("~/AnotherPage.aspx");
}
}
其他提示
实施 IRequiresSessionState
是否实施 iRequiresSessionState 解决这个问题吗?
改为使用 IHttpModule 并重写 BeginRequest 怎么样?
public void Init(HttpApplication application)
{
application.BeginRequest += new EventHandler(context_BeginRequest);
}
不隶属于 StackOverflow