源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

ashx中使用session的方法(获取session值)

  • 时间:2022-02-13 18:43 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:ashx中使用session的方法(获取session值)
WEB开发,在一般处理程序中,很容易得到 Request和Response对象,如:
[u]复制代码[/u] 代码如下:
HttpRequest _request = context.Request; HttpResponse _response = context.Response;
但是要得到 Session的值就没有那么简单了。 比如如果要在ashx得到保存在Session中的登录用户信息 Session["LoginUser"] 如果仅仅使用 context.Session["LoginUser"] 的话,是会报 “未将对象引用设置到对象的实例”的异常! 具体要使用下列方法:
[u]复制代码[/u] 代码如下:
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;             }         }     } }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部