您现在的位置: 万盛学电脑网 >> 程序编程 >> 网络编程 >> asp.net编程 >> 正文

ashx中使用session的方法

作者:佚名    责任编辑:admin    更新时间:2022-06-22

ashx中获取session值的方法,大家参考使用吧 WEB开发,在一般处理程序中,很容易得到 Request和Response对象,如: 代码如下: HttpRequest _request = context.Request;    HttpResponse _response = context.Response;       但是要得到 Session的值就没有那么简单了。   比如如果要在ashx得到保存在Session中的登录用户信息 Session["LoginUser"]   如果仅仅使用 context.Session["LoginUser"] 的话,是会报 “未将对象引用设置到对象的实例”的异常!   具体要使用下列方法:    代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.SessionState;   namespace DtlCalendar.Mobile.Site.Manage {     /// <summary>     /// DelApk 的摘要说明     /// </summary>     public class DelApk : IHttpHandler, IReadOnlySessionState     {         // IReadOnlySessionState :只读访问Session         // IRequiresSessionState :读写访问Session         public void ProcessRequest(HttpContext context)         {             string strID = context.Request["id"];             context.Response.Clear();             context.Response.ContentType = "text/plain";             int id;             string user;             if (int.TryParse(strID, out id) && IsLoged(context, out user))             {                 string reslt = DataProvider.MobileDataProvider.CreateInstance().DelMApk(id).ToString();                 BLL.LogOprHelper.Instance.InsertMLog(user, BLL.LogOpr.Delete, "DelApk result:" + reslt);                 context.Response.Write(reslt);             }             else             {                 BLL.LogOprHelper.Instance.InsertMLog(strID, BLL.LogOpr.Delete, "DelApk result:-1");                 context.Response.Write("-1");             }         }           private bool IsLoged(HttpContext context, out string user)         {             BLL.User _User;             if (context.Session["LoginUser"] != null)             {                 _User = context.Session["LoginUser"] as BLL.User;                 if (_User != null)                 {                     user = _User.Account;                     return true;                 }             }             user = string.Empty;             return false;         }           public bool IsReusable         {             get             {                 return true;             }         }     } }