在给其他网站提供接口的时候用ashx做的,在文件调用cs中的方法,方法中的Session报错:System.NullReferenceException: 未将对象引用设置到对象的实例。
/// <summary> /// 拉取AccessToken,微信每天公共2000次AccessToken的获取,所以需要缓存AccessToken /// </summary> /// <returns>用户凭证:AccessToken</returns> public string getTokenSession(string appid, string appsecret) { string TokenSession = ""; if (System.Web.HttpContext.Current.Session[weixin_Keys.AccessToken] == null) { TokenSession = addTokenSession(string appid, string appsecret); } else { TokenSession = System.Web.HttpContext.Current.Session[weixin_Keys.AccessToken].ToString(); } return TokenSession; }
解决的方法是在一般处理程序继承session的读写接口IRequiresSessionState或者IReadOnlySessionState
如:public class API: IHttpHandler, System.Web.SessionState.IRequiresSessionState
原因 IHttpHandler接口的实现是没有Session,必须使用接口IRequiresSessionState(读写权限,不能并发)或者IReadOnlySessionState(只读权限,可以并发)。
时间: 2024-11-06 06:31:35