ashx 使用Session

来自:http://www.cnblogs.com/TivonStone/archive/2012/04/06/2434796.html 特此感谢

最近做一个项目,调用ashx文件,其中ashx文件里面有用到Session,但是总无法获取Session,经过调试,出现的错误的原因:

大体如下

1
context.Session[ "requeststate" ] = state;

 

查阅MSDN得到ashx文件要使用Session,必须实现Session接口,如下

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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 ;
         }
     }
 
}

你可能感兴趣的:(ashx 使用Session)