System.Web.Routing 隨 .NET 3.5 SP1 發布,用於 ASP.NET Web 應用程式的 URL 路由:將友善 URL 映射至實際處理端點(如 /chsword/2008/08/27.html → /chsword/article.aspx?y=2008&m=08&d=27)。
System.Web.Routing 組件
RouteTable.Routes:RouteCollection 單例,於 Application_Start 初始化。Route:透過 RouteValueDictionary 載入預設值與規則。IRouteHandler:提供 GetHttpHandler 回傳處理 URL 的 IHttpHandler。MyPage 類別,含 RequestContext 屬性與 ProcessRequest 方法。MyRouteHandler,GetHttpHandler 回傳 new MyPage(requestContext)。public class MyPage : IHttpHandler {
public RequestContext RequestContext { get; private set; }
public MyPage(RequestContext context) { this.RequestContext = context; }
public void ProcessRequest(HttpContext context) { }
public bool IsReusable { get { return false; } }
}
public class MyRouteHandler : IRouteHandler {
public IHttpHandler GetHttpHandler(RequestContext requestContext) {
return new MyPage(requestContext);
}
}
完成上述兩類別,即可開始註冊路由規則,實現 URL 重寫。