对于Asp.Net Web Forms应用来说,请求的Url都是对应一个具体的物理文件(http://xxx.com/default.aspx)。这样的Url与具体物理文件紧密绑定在一起,带来了诸多方便的局限:可读性、SEO优化等。为了解决这些局限性,微软引入了URL路由系统。下面通过一个Demo来剖析一下Asp.Net的路由系统。

创建一个空的WebForm应用程序,在Global.asax.cs文件中加入如下代码:

大数据培训,云培训,数据挖掘培训,云计算培训,高端软件开发培训,项目经理培训

public class Global : System.Web.HttpApplication
    {        protected void Application_Start(object sender, EventArgs e)
        {            //处理匹配的文件
            RouteTable.Routes.RouteExistingFiles = true;            //url默认值
            RouteValueDictionary defaults = new RouteValueDictionary() { { "name", "wuwenmao" }, { "id", "001" } };            //路由约束
            RouteValueDictionary constraints = new RouteValueDictionary() { { "name", @"\w{2,10}" }, { "id", @"\d{3}" } };            //与路由相关的值,但不参与路由是否匹配URL模式
            RouteValueDictionary dataTokens = new RouteValueDictionary() { { "defaultName", "wuwenmao" 
        
		

网友评论