如何在ashx页面获取Session值
生活随笔
收集整理的這篇文章主要介紹了
如何在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 :讀寫訪問Sessionpublic 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;}}} } View Code?
轉載于:https://www.cnblogs.com/lucienbao/p/ashx_session.html
總結
以上是生活随笔為你收集整理的如何在ashx页面获取Session值的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 滚动焦点图实现原理和实践[原创视频]
- 下一篇: Linux Oracle服务启动停止脚本