一般我们通过Ajax来处理用户信息的时候,遇到了Session值是找不到的这是为什么?
我们所谓的页面就是一个处理程序,其实现非常复杂,要通过asp.net的管道处理,一般处理程序也要通过管道事件来过滤最终生成HTML提交浏览器,但是一般处理程序.ashx页只是继承了IHttpHandler接口,无法传递Session,那么要截取HttpContextcontext的Session对象值怎么办?
public class CustomerPhoto : IHttpHandler
解决方案:
首先ashx页不像aspx页直接继承了page实现了接口我们可以直接拿到Session,而ashx页只是继承了IHttpHandler接要截取HttpContextcontext的Session对象必须实现IRequiresSessionState,导入程序集合usingSystem.Web.SessionState;同时使用context.Session对象。这样才获取了Session值。
public class CustomerPhoto : IHttpHandler, System.Web.SessionState.IRequiresSessionState
public void PRocessRequest(HttpContext context)在传进的context中截取session的值
public void SavePic() { HttpContext ctx = HttpContext.Current;
}
ctx就是(HttpContext的 报文 与报文中所有值得的数据,也就是客户端所传进的数据进行处理。
新闻热点
疑难解答