ASHX中使用Session
想要在HttpHandler(ashx文件)中访问Session的状态值时,需要显式的实现一个接口 IReadOnlySessionState,示例如下:
<% @ webhandler language="C#" class="DownloadHandler" %>
using System;
using System.Web;
using System.Web.SessionState ;
public class DownloadHandler : IHttpHandler, IReadOnlySessionState
{
public bool IsReusable { get { return true; } }
public void ProcessRequest(HttpContext ctx)
{
ctx.Response.Write(ctx.Session["fred"]);
}
}
如果要读写Session的值,那么只要实现 IRequiresSessionState 接口就可以了,这两个接口没有待实现的方法,可直接使用。
<%@ WebHandler Language="C#" Class="ImageCode" %> using System; using System.Web; using System.Web.SessionState; public class ImageCode : IHttpHandler, IRequiresSessionState { public void ProcessRequest (HttpContext context) { context.Session["UserID"]="1"//给Session赋值 } public bool IsReusable { get { return true; } } }
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: Nginx解析PHP脚本的过程
- 下一篇: 为什么*.ashx一般处理程序不能访问Session值?