以.NET Web程序注册全局路由为例,先看以下的代码
1、路由Route类,包含一个IHttpHandler,一个处理请求程序的属性,在构造函数中需要去传递一个IHttpHandler的一个对象
public class Route
{
public Route(string url, object defaults, IHttpHandler handler)
{
this.Url = url;
this.RouteHandler = handler;
Defaults = new Dictionary<string, object>();
var defaultsProps = defaults.GetType().GetProperties();
foreach (var item in defaultsProps)
{
Defaults.Add(item.Name, item.GetValue(defaults));
}
}
public string Url { get; set; }
/// <summary>
/// 当前请求处理程序
/// </summary>
public IHttpHandler RouteHandler { get; set; }
public IDictionary<string, object> Defaults { get; set; }
}
2、程序全局入口,注册全局的路由表
protected void Application_