Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在asp.net处理程序中设置会话值_C#_Asp.net_Session_Cookies_Handler - Fatal编程技术网

C# 如何在asp.net处理程序中设置会话值

C# 如何在asp.net处理程序中设置会话值,c#,asp.net,session,cookies,handler,C#,Asp.net,Session,Cookies,Handler,我正在使用uploadify上传音频文件。它使用handler upload.ashx将文件上载到服务器。我想在我的aspx页面中获取文件路径。因此,我试图在handler中设置一个会话,以便在aspx中获取文件路径,但我无法这样做。如何从handler到.aspx页面获取文件路径的值 public class Upload : IHttpHandler { public void ProcessRequest (HttpContext context) { strin

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

public class Upload : IHttpHandler {

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

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

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

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

public class Upload : IHttpHandler, IRequiresSessionState{
    //...
}
添加到处理程序定义中。或者,如果您只需要只读信息,因为这样可以通过避免锁定和写回会话值来稍微提高性能

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

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

将接口IRequiresessionState添加到方法中 喜欢 公共类上载:IHttpHandler,iRequestSessionState {


}

将接口iRequiresessionState添加到方法中 喜欢 公共类上载:IHttpHandler,iRequestSessionState {


}

现在我可以在处理程序中设置会话值,但在aspx页面中,会话值始终为空,为什么为空?处理程序中的会话ID与我在aspx页面中获得的会话ID不同。问题在于,如果您从不同的浏览器发送请求,您将获得不同的会话,因此会话ID也不同。或者重新启动web服务器,从不同的选项卡请求页面或处理程序。这可能是您的问题。现在我可以在处理程序中设置会话值,但在aspx页面中,会话值始终为null,为什么为null?处理程序中的会话ID与我在aspx页面中获得的会话ID不同。问题在于,如果您从不同的浏览器发送请求,您将获得不同的会话,因此会话ID也不同。或者重新启动web服务器,从不同的选项卡请求页面或处理程序。这可能是你的问题。你能解释一下@AkosLukacs答案的增强吗?你能解释一下@AkosLukacs答案的增强吗?