说ASP .NET MVC应用程序是HTTPModule是正确的吗?

时间:2013-07-01 16:27:21

标签: asp.net-mvc iis asp.net-mvc-4 httpmodule

我只是想澄清一下我对ASP .NET MVC的理解(当前版本是4)。

我正在How does ASP.NET MVC work?

上阅读这篇文章
  

那么,ASP.NET如何知道如何将请求路由到MVC?答案在于web.config。 ASP.NET MVC项目中的模块集合中添加了一个新的http模块

所以基本上mvc应用程序是作为HTTPModule实现的,或者至少是mvc app的url路由部分?

是否有可能创建和注册自定义路由模块,然后可能创建自己的微型mvc框架,如Ruby中的Sinatra或PHP中的Slim?

1 个答案:

答案 0 :(得分:4)

Url路由实际上是它自己的ASP.NET模块。它既用于MVC又用于WebForms(也可用于其他ASP.NET应用程序类型)。路由包含在System.Web程序集中。有关路由功能的更多信息,请访问MSDN

使用IHttpHandler实现MVC。可以找到实施here

现在提出实际问题:

  

是否有可能创建和注册自定义路由模块,然后可能创建自己的微型mvc框架,如Ruby中的Sinatra或PHP中的Slim?

是。这完全有可能。您需要创建自己的实现IRouteHandler的类。然后只需使用该处理程序注册路由。