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

时间:2012-01-30 13:31:31

标签: c# asp.net session cookies handler

我使用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异常:对象引用未设置为对象的实例。

2 个答案:

答案 0 :(得分:6)

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

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

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

答案 1 :(得分:0)

将接口IRequiresSessionState添加到您的方法中 喜欢  public class Upload:IHttpHandler,IRequiresSessionState {

}