本文实例讲述了*.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程序设计有所帮助