C# 如何在asp.net处理程序中设置会话值
我正在使用uploadify上传音频文件。它使用handler upload.ashx将文件上载到服务器。我想在我的aspx页面中获取文件路径。因此,我试图在handler中设置一个会话,以便在aspx中获取文件路径,但我无法这样做。如何从handler到.aspx页面获取文件路径的值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
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答案的增强吗?