最近做一個項目,調用ashx文件,其中ashx文件里面有用到Session,但是總無法獲取Session,經過調試,出現的錯誤的原因:
大體如下
context.Session["requeststate"] = state;
查閱MSDN得到ashx文件要使用Session,必須實現Session接口,如下
public class QQCallbackHandle : IHttpHandler,System.Web.SessionState.IRequiresSessionState { public void ProcessRequest (HttpContext context) { var QQcontext = new QConnectSDK.Context.QzoneContext(); string state = Guid.NewGuid().ToString().Replace("-", ""); string scope = ""; var authenticationUrl = QQcontext.GetAuthorizationUrl(state, scope); //request token, request token secret 需要保存起來 //在demo演示中,直接保存在全局變量中.真實情況需要網站自己處理 context.Session["requeststate"] = state; context.Response.Redirect(authenticationUrl); } public bool IsReusable { get { return false; } } }