【问题标题】:Is it correct to say that an ASP .NET MVC application is an HTTPModule?说 ASP .NET MVC 应用程序是 HTTPModule 是否正确?
【发布时间】:2013-07-01 16:27:21
【问题描述】:

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

我在How does ASP.NET MVC work?阅读这篇文章

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

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

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

【问题讨论】:

  • 看看 John Papa 的热毛巾模板:nuget.org/packages/HotTowel> 他对名为 DurandalJS 的客户端 js 模块做了类似的事情 durandaljs.com>(除非我完全误解了你的问题...... )
  • 谢谢科里,SPA 很酷。 :)

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


【解决方案1】:

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

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

现在是实际问题:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-29
    • 2017-03-22
    • 2010-10-28
    • 1970-01-01
    • 1970-01-01
    • 2017-04-01
    • 1970-01-01
    相关资源
    最近更新 更多