This example describes a workaround for *.ashx files that do not have access to session values. Share for everyone to use for reference. The specific methods are as follows:
The instance code is as follows:
<%@ 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.getptypelistid
Name ();
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 ("Product add failed!")
");
} break; } context.
Response.ContentType = "Text/javascript"; Context.
Response.Write (message);
public bool IsReusable {get {return false;
}
}
}
In fact, just add this sentence is good:
Using System.Web.SessionState;
I hope this article will be helpful to our ASP.net program design.