本文实例讲述了*.ashx文件不能访问Session值的解决方法。分享给大家供大家参考之用。具体方法如下:
实例代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
<%@ 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 ; } } } |
其实只要加上这句就好了:
1
|
using System.Web.SessionState; |
希望本文所述对大家的asp.net程序设计有所帮助