2013-07-01 14 views
5

Ich wollte nur mein Verständnis von ASP .NET MVC (aktuelle Version ist 4).Ist es richtig zu sagen, dass eine ASP .NET MVC-Anwendung ein HTTPModule ist?

ich diesen Artikel las auf How does ASP.NET MVC work?

Also, wie ASP.NET wissen, wie MVC, um Anfragen? Die Antwort liegt in web.config. Es gibt eine neue http-Modul Module Sammlung in ASP.NET MVC hat hinzugefügt Projekte

Also im Grunde eine MVC-Anwendung als Httpmodule implementiert, oder zumindest den URL-Routing-Abschnitt eines MVC-app?

Wäre es möglich, ein eigenes Routing-Modul zu erstellen und zu registrieren und dann möglicherweise ein eigenes Micro-Mvc-Framework wie Sinatra in Ruby oder Slim in PHP zu erstellen?

+0

Werfen Sie einen Blick auf John Papas Hot Towel Vorlage: Er tut etwas ähnliches mit einem Client-Seite js Modul namens DurandalJS (es sei denn, ich habe deine Frage völlig falsch verstanden ...) –

+0

Danke Cory, SPA cool. :) – stormwild

Antwort

4

Das URL-Routing ist in der Tat ein eigenes ASP.NET-Modul. Es wird sowohl für MVC als auch für WebForms verwendet (und kann auch für andere ASP.NET-Anwendungstypen verwendet werden). Das Routing ist in der Baugruppe System.Web enthalten. Weitere Informationen zu den Routing-Funktionen finden Sie unter MSDN.

MVC wird mit einem IHttpHandler implementiert. Die Implementierung kann here gefunden werden.

Jetzt für die eigentliche Frage:

Wäre es möglich, für eine erstellen und ein eigenes Routing-Modul registrieren und dann möglicherweise ihren eigenen Mikro-MVC-Framework wie Sinatra in Ruby oder Slim in PHP erstellen?

Ja. Es ist voll und ganz möglich. Sie müssen Ihre eigene Klasse erstellen, die IRouteHandler implementiert. Dann registrieren Sie einfach Routen mit diesem Handler.

+0

Super, danke. :) – stormwild