萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> asp.net編程 >> ashx中使用session的方法

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 :讀寫訪問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;             }         }     } }
copyright © 萬盛學電腦網 all rights reserved