2014-09-23 19:52:37|?次阅读|上传:huigezrx【已有?条评论】发表评论
关键词:C#, ASP.NET, Web|来源:唯设编程网
在一般事务处理页面,可以轻松的得到 Request,Response等对象,从而进行相应的操作,如下:
HttpRequest Request = context.Request; HttpResponse Response = context.Response;
但是要得到 Session的值就没有那么简单了。比如你要在ashx得到保存在Session中的登录帐号Session["userAccount"],如果你直接使用context.Session["userAccount"]的话会报 “未将对象引用设置到对象的实例”的异常,如果要想取Session中的值 ,需要实现IRequiresSessionState接口,如下所示
1、引入 命名空间:
using System.Web.SessionState;
2、实现IRequiresSessionState接口,具体如下
public class UEditorHandler : IHttpHandler,IRequiresSessionState { public void ProcessRequest(HttpContext context) { //验证用户登录 string strUserName = null; object username = HttpContext.Current.Session["userName"]; if (username != null) { strUserName = Convert.ToString(username); } } public bool IsReusable { get { return false; } } }
实现IRequiresSessionState接口无需额外实现其它方法,这样,你就可以正常使用Session了。