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

正直为人,诚信待人,爱岗敬业,尽心竭力。一个人的梦想也许不值钱,但一个人的发奋很值钱。早上好!

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

本文*.ashx文件不能访问Session值的解决方法到此结束。一个人只有在全力以赴的时候才能发挥最大的潜能。小编再次感谢大家对我们的支持!

您可能有感兴趣的文章
ASP.NET中Response.BufferOutput属性的使用技巧

ASP.NET轻量级MVC框架Nancy的基本用法

使用grpcui测试ASP.NET core的gRPC服务

ASP.NET Core中的对象池介绍

.NET集成ORM框架HiSql