小弟是新人,昨天写了一个继承借口HttpHandler接口的类想实现过滤器对index下的所有aspx文件的session的信息过滤代码如下
public class Class1:IHttpHandler,IReadOnlySessionState
{
public Class1()
{
}
#region IHttpHandler 成员 public bool IsReusable
{
get { return false; }
} public void ProcessRequest(HttpContext context)
{
if (context.Session["User"] == null)
{
context.Response.Redirect("~/Default.aspx");
}
else
{
context.Response.Redirect("~/index/Default2.aspx");
}
}
这是配置文件:
<httpHandlers>
<add verb="*" type="Class1" path="index/*.aspx"/>
</httpHandlers>可是我发现即使session["User"]不为空的时候,在跳转到index下任何aspx页面的时候都会出问题,url的地址没错,但是页面里什么都不显示就像是一张白纸。
似乎所有的信息都让Class1的这个类给截断了一样。。希望高手们帮帮忙。我的分不多,希望好人多多帮助。
public class Class1:IHttpHandler,IReadOnlySessionState
{
public Class1()
{
}
#region IHttpHandler 成员 public bool IsReusable
{
get { return false; }
} public void ProcessRequest(HttpContext context)
{
if (context.Session["User"] == null)
{
context.Response.Redirect("~/Default.aspx");
}
else
{
context.Response.Redirect("~/index/Default2.aspx");
}
}
这是配置文件:
<httpHandlers>
<add verb="*" type="Class1" path="index/*.aspx"/>
</httpHandlers>可是我发现即使session["User"]不为空的时候,在跳转到index下任何aspx页面的时候都会出问题,url的地址没错,但是页面里什么都不显示就像是一张白纸。
似乎所有的信息都让Class1的这个类给截断了一样。。希望高手们帮帮忙。我的分不多,希望好人多多帮助。
我记得好像这个方法里面取不到。
我一般是用httpmodule进行过滤,用AcquireRequestState方法可以取到sessionpublic void Init(HttpApplication context)
{
context.AcquireRequestState+=new EventHandler(Reurl_AcquireRequestState);
}
private void Reurl_AcquireRequestState(object sender,EventArgs e)
{
HttpApplication application = (HttpApplication)sender;
HttpContext context = application.Context;
(context.Session["User"] != null)
{ }
}
context.Response.WriteFile(context.Request.PhysicalPath);
但是页面上如果有用户控件,是不显示的!