asp.net的底层运作已经也乱谈过一番, 今天记一下URLRewrite的方法。

IIS收到请求-->ISAPI用于处理该请求-->BeginRequest开始-->EndRequest结束-->输出Response

中间有好多其它的流程就不标记了,这里只是列出URLRewrite所走的流程。

其实就是在BeginRequest事件中调用HttpContext的RewritePath方法,将该请求重新“定位”至一个目标URL就完成了。

在站点的Global.asax文件BeginRequest方法中添加代码:

public class Global : System.Web.HttpApplication
{
    protected void Application_BeginRequest(object sender, EventArgs e)
    {
        HttpContext context = HttpContext.Current;
 
        if (context.Request.Path.Equals("/demo", StringComparison.InvariantCultureIgnoreCase))
        {
            context.RewritePath("~/demoList.aspx");
        }
    }
}
posted on 2009-11-30 12:16  风浪  阅读(395)  评论(1编辑  收藏  举报