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

sto*_*ild 5 iis asp.net-mvc httpmodule asp.net-mvc-4

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

我正在阅读这篇关于ASP.NET MVC如何工作的文章?

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

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

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

jga*_*fin 4

Url 路由实际上是它自己的 ASP.NET 模块。它可用于 MVC 和 WebForms(也可用于其他 ASP.NET 应用程序类型)。布线包含在System.Web装配体中。有关路由功能的更多信息可以在MSDN中找到。

MVC 是使用IHttpHandler实现的。可以在此处找到实现。

现在来说说实际问题:

人们是否可以创建并注册一个自定义路由模块,然后创建自己的微型 mvc 框架,例如 Ruby 中的 Sinatra 或 PHP 中的 Slim?

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