本文實例講述了*.ashx文件不能訪問Session值的解決方法。分享給大家供大家參考之用。具體方法如下:
實例代碼如下:
<%@ WebHandler Language="C#" Class="productHandler" %> using System; using System.Web; using JBTCard.Entity.CompanyEntity; using JBTCard.Business.CompanyBS; using System.Collections.Generic; using Newtonsoft.Json; using System.Web.SessionState; public class productHandler : IHttpHandler, IRequiresSessionState, IReadOnlySessionState{ public void ProcessRequest (HttpContext context) { string moduleId = context.Request.Form["moduleId"].ToString(); string message = ""; switch (moduleId) { case "getPTypeList": IList<ProductTypeIdNameEntity> list = ProductTypeBS.GetPTypeListIdName(); message = JavaScriptConvert.SerializeObject(list); break; case "getCompanyById": int cid = Convert.ToInt32(context.Session["cid"]); CompanyEntity company = CompanyBS.GetCompanyEntyById(1); message = JavaScriptConvert.SerializeObject(company); break; case "insert": string condis = context.Request.Form["condi"].ToString(); ProductEntity model = (ProductEntity)JavaScriptConvert.DeserializeObject(condis, typeof(ProductEntity)); bool b = ProductBS.AddProduct(model); if (b) { message = "{success:true}"; } else { throw new Exception("商品添加失敗!"); } break; } context.Response.ContentType = "text/javascript"; context.Response.Write(message); } public bool IsReusable { get { return false; } } }
其實只要加上這句就好了:
using System.Web.SessionState;
希望本文所述對大家的asp.net程序設計有所幫助