c# - 如何在 asp.net 中的 Handler 中设置 session 值

标签 c# asp.net session cookies handler

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

public class Upload : IHttpHandler {

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

   }  }

抛出 Nullreference 异常:未将对象引用设置为对象的实例。

最佳答案

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

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

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

关于c# - 如何在 asp.net 中的 Handler 中设置 session 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9064650/

相关文章:

c# - 在 ASP.NET MVC 5 中使用区域的路由属性

c# - 在从 C# 到 C 的 P/Invoke 调用期间编码输出指针

c# - 排序列表 <DateTime> 降序

c# - 查找自定义类型列表的最大数量

asp.net - 使用 CSS 居中图像的建议

java - session.createQuery() 在 spring 中不返回列表

c# - 编写以 TAB 结束的 C# 片段

javascript - Express Session 不同的到期时间

php - 如果不取消设置, session 变量将持续多长时间?

asp.net - 您能推荐一个 .net 模板引擎吗?