asp.net中一般处理程序获取session
2013-07-18 09:51
537 查看
asp.net的一般处理程序 .ashx的context对象默认是取不出session的值出来的。
要达到取出Session的效果,则需要让它实现System.Web.SessionState.IReadOnlySessionState接口(该接口没有任何方法实现,只是起到一个标识作用)
为了让所有的一般处理程序都能获取到Session值,并且能集中做一些控制管理(比如用户认证、权限控制等),我的策略是让一个抽象类实现IHttpHandler, IRequiresSessionState接口,然后让其他所有一般处理程序都继承该抽象类即可。
Demo:
抽象类
一般处理程序实现类:
ok,也算是解决了问题吧
要达到取出Session的效果,则需要让它实现System.Web.SessionState.IReadOnlySessionState接口(该接口没有任何方法实现,只是起到一个标识作用)
为了让所有的一般处理程序都能获取到Session值,并且能集中做一些控制管理(比如用户认证、权限控制等),我的策略是让一个抽象类实现IHttpHandler, IRequiresSessionState接口,然后让其他所有一般处理程序都继承该抽象类即可。
Demo:
抽象类
using System; using System.Web; using System.Web.SessionState; .... namespace SRERC.Web.admin { /// <summary> /// SessionAwareHandler 的摘要说明 /// </summary> public abstract class SessionAwareHandler : IHttpHandler, IRequiresSessionState { ..... public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; // 身份认证 // 权限控制 MyProcess(context); } ........ protected abstract void MyProcess(HttpContext context); } }
一般处理程序实现类:
using System; using System.Web; namespace SRERC.Web.admin { /// <summary> /// bandHandler 的摘要说明 /// </summary> public class bandHandler : SessionAwareHandler { protected override void MyProcess(HttpContext context) { //....处理过程 //.... context.Response.Write(json); } } }
ok,也算是解决了问题吧
相关文章推荐
- asp.net中一般处理程序获取session
- ASP.NET MVC 项目中 一般处理程序ashx 获取Session
- asp.net中一般处理程序中添加session
- .net System.Web.HttpContext.Current.Session 获取值出错(一般处理程序中出错)
- asp.net中处理程序调用HttpContext.Current.Session获取值出错
- ASP.NET的ASHX一般处理程序中Session为null且不能赋值
- ASP.NET:在一般处理程序中通过 Session 保存验证码却无法显示图片?
- ASP.NET一般处理程序(.ashx.cs)中使用Session的问题
- ASP.NET的ASHX一般处理程序中Session为null且不能赋值
- ASP.NET - 一般处理程序获取session值
- asp.net 登陆后在ashx处理程序中获取不到Session
- ASP.NET中在一般处理程序中使用session的简单介绍
- asp.net中在一般处理程序中使用session
- asp.net一般处理程序(2)获取列表
- asp.net .ashx一般处理程序中使用Session
- ASP.Net一般处理程序Session用法,以及cookie的用法
- ASP.NET中在一般处理程序中如何使用session
- Android调用asp.net编写的*.ashx(一般处理程序)获取数据
- ASP.NET的ASHX一般处理程序中Session为null且不能赋值
- ASP.NET一般处理程序访问Session问题