来自ASHX处理程序的Sever.Transfer,HttpContext.Current.Session为null

时间:2012-04-10 23:58:37

标签: asp.net

所以我正在尝试从通用处理程序到常规ASPX页面执行Server.Transfer

它传输正常,但它发现HttpContext.Current.Session为空。

任何人都知道为什么?

感谢您的帮助!

-ev

1 个答案:

答案 0 :(得分:5)

您需要使用IRequiresSessionState标记接口标记处理程序,以便初始化Session。如果您只需要从会话中读取使用IReadOnlySessionState标记接口,那么会话状态提供程序可以在请求结束时跳过保存会话。如果超出了会话状态提供程序,可以在性能方面取得一些进展。

以下是示例:

using System.Web.SessionState;

namespace BlahBlah
{
  public class CustomHandler : IHttpHandler, IRequiresSessionState
...
}