读书人

HttpModule中进行了url重写没有aspx

发布时间: 2012-09-18 16:21:42 作者: rapoo

HttpModule中进行了url重写,没有aspx,如何访问到session?

C# code
private void context_AcquireRequestState(object sender, EventArgs e)        {                string validateCode = StringHelper.GetRandNum().ToString();                context.Session["ValidateCode"] = validateCode;//session为null                context.Response.ContentType = "image/gif";                context.Response.Cache.SetCacheability(HttpCacheability.NoCache);                context.Response.Cache.SetNoStore();                context.Response.Buffer = true;                context.Response.ExpiresAbsolute = System.DateTime.Now.AddSeconds(-1);                context.Response.Expires = -1;                context.Response.CacheControl = "no-cache";                context.Response.AddHeader("Pragma", "No-Cache");                context.Response.BinaryWrite(ValidateHelper.getVerificationImage(validateCode).ToArray());            }

实现了IRequiresSessionState,标记了EnableSession=true,无效········

特来求助··

[解决办法]
web.config中注册了吗?

和你重写URL应该没关系的,即使是一张图片的请求也能得到session
[解决办法]
关键是重写URl后还有session吗?有的话 直接取不就行了吗 string test=session["Test"].toString();
[解决办法]
静态文件不通过HttpModule吧,iis直接处理了。哪还有session。要处理好像得在web.config和iis注册设置吧。忘了。。。
[解决办法]

httpcontext.current.session 这个不行么?

读书人网 >asp.net

热点推荐