我有一个在客户端页面上运行的HttpHandler (跨域,而不是在我们的IIS服务器上,等等),当他们点击我们的嵌入式链接时,它会触发我们服务器上的处理程序。到目前为止,一切工作正常。
我现在正在尝试使用System.Web.HttpContext.Session对象,但它为空。我认为它是空的,因为在调用HttpHandler之前我们没有会话?并且对处理程序的多个调用将为每个调用创建一个新会话?如果是这种情况,MS是否只是在调用HttpHandler时禁用了Session对象?有人能证实这一点吗?
如果是这种情况,如何在两次调用之间保持状态?某种基于SQL的数据对象?一份文件?
提亚
发布于 2016-01-31 03:14:14
using System;
using System.Web;
using System.Web.SessionState;
public class DownloadHandler : IHttpHandler, IReadOnlySessionState
{
public bool IsReusable { get { return true; } }
public void ProcessRequest(HttpContext context)
{
context.Response.Write(context.Session["kmx"]);
}
}
发布于 2009-07-09 22:36:46
尝试使用当前上下文...
System.Web.HttpContext.Current.Session
https://stackoverflow.com/questions/1106776
复制相似问题