在一个ASP.NET MVC应用来说,针对HTTP请求的处理和相应定义Controller类型的某个Action方法中,每个HTTP请求的目标对象不再像ASP .NET Web Form应用一样是一个物理文件,而是某个Controller的某个Action。目标Controller和Action的名称包含在HTTP请求中,而ASP.NET MVC的首要任务就是通过当前HTTP请求的解析得到正确的Controller和Action的名称。这个过程是通过ASP.NET MVC的URL路由机制来实现的。

ASP.NET定义了一个全局的路由表,路由表中的每个路由对象对应着一个将Controller和Action名称作为站位符的URL模板。对于每一个抵达的HTTP请求,ASP.NET MVC会遍历路由表找到一个URL模板的模式与请求地址相匹配的路有对象,并最终解析出以Controller和Action名称为核心的路由数据。在我们自定义的ASP.NET MVC框架中,路由数据通过具有如下定义的RouteData类型表示。

class RouteData
   2: {
private set; }
private set; }
public IRouteHandler RouteHandler { get;  set; }
public RouteBase Route { get; set; }
   7:  
public RouteData()
   9:     {
object>();
object>();
string>());
  13:     }
string Controller
  15:     {
  16:         get
  17:         {
string.Empty;
out controllerName);
return controllerName.ToString();
  21:         }
  22:     }
string ActionName
  24:     {
  25:         get
  26:         {
string.Empty;
out actionName);
return actionName.ToString();
  30:         }
  31:     } 
string> Namespaces
  33:     {
  34:         get
  35:         {
];
  37:         }
  38:     } 
  39: }

相关文章:

  • 2022-01-14
  • 2022-12-23
  • 2021-11-17
  • 2021-12-25
  • 2022-12-23
  • 2021-11-01
  • 2022-12-23
  • 2022-01-09
猜你喜欢
  • 2021-10-03
  • 2021-10-24
  • 2021-07-25
  • 2021-12-06
相关资源
相似解决方案