*.ashx文件不能访问Session值的解决方法

时间:2022-09-14 12:22:19

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