如何在asp.net中的Handler中设置会话值

本文关键字:设置 会话 Handler 中的 asp net | 更新日期: 2023-09-27 18:21:58

我正在使用uploadify上传音频文件。它使用处理程序upload.ashx将文件上传到服务器。我想在我的aspx页面中获取文件路径。因此,我试图在处理程序中设置一个会话,以便在aspx中获取文件路径,但我无法做到。如何获取从处理程序到.aspx页面的文件路径值

public class Upload : IHttpHandler {
    public void ProcessRequest (HttpContext context) { 
       string savepath = context.Server.MapPath(tempPath);
       context.Session["AudioFile"] = savepath;
   }  }

引发了Nullreference异常:对象引用未设置为对象的实例。

如何在asp.net中的Handler中设置会话值

将IRequiresSessionState接口添加到处理程序定义中。或者IReadOnlySessionState,如果您只需要只读信息,因为这可以通过避免锁定和写回会话值来略微提高性能。

它只是一个标记接口,告诉运行时这个处理程序需要会话状态。

public class Upload : IHttpHandler, IRequiresSessionState{
    //...
}

将接口IRequiresSessionState添加到方法中喜欢公共类Upload:IHttpHandler,IRequiresSessionState{

}