如何在.ashx文件中访问Session?

时间:2012-07-12 07:43:55

标签: c#

我想在.ashx文件中访问一些值(已在.aspx文件中设置)。我尝试使用查询字符串,会话等获取该值,但每次失败。任何人都可以建议我如何在.ashx文件中访问会话值?

3 个答案:

答案 0 :(得分:62)

在ashx.cs文件中,还要“实现”界面System.Web.SessionState.IReadOnlySessionStateSystem.Web.SessionState.IRequiresSessionState

您不必实现任何方法,只需存在此方法即可通过context.Session使会话可用(在只读或读/写模式下)。

标题如下:

public class MyHandler: IHttpHandler, System.Web.SessionState.IReadOnlySessionState

答案 1 :(得分:49)

在aspx文件中:

Session.Add("filename", "Test.txt");


在aspx文件中设置会话值后。使用以下命令获取ashx文件中的值。

在ashx文件中:

public class ImageHandler : IHttpHandler, System.Web.SessionState.IRequiresSessionState
{
    public void ProcessRequest(HttpContext context)
    {
      string Name = "";
      if (context.Session["filename"] != null)
         Name = context.Session["filename"].ToString();
    }
}

答案 2 :(得分:-1)

试试这个,

HttpContext.Current.Session