牛骨文教育服务平台(让学习变的简单)
博文笔记

ASHX中使用Session

创建时间:2011-10-26 投稿人: 浏览次数:2958
 

想要在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;
        }
    }

}


 

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。