2013-07-01 6 views
5

Volevo solo chiarire le mie conoscenze su ASP .NET MVC (la versione corrente è 4).È corretto dire che un'applicazione ASP .NET MVC è un HTTPModule?

Stavo leggendo questo articolo su How does ASP.NET MVC work?

Quindi, come fa ASP.NET sa come instradare le richieste a MVC? La risposta si trova in web.config. C'è un nuovo modulo http aggiunto alla collezione di moduli in ASP.NET MVC progetti informatici

Quindi, in pratica un'applicazione MVC è implementato come un HttpModule o almeno la parte di routing URL di un app MVC?

Sarebbe possibile per uno di creare e registrare un modulo di routing personalizzato e quindi possibilmente creare il proprio framework micro mvc come Sinatra in Ruby o Slim in PHP?

+0

Dai un'occhiata al modello di Hot Papa di John Papa: Fa qualcosa di simile con un modulo js lato client chiamato DurandalJS (a meno che non abbia completamente frainteso la tua domanda ...) –

+0

Grazie Cory, SPA cool. :) – stormwild

risposta

4

Il routing Url è infatti il ​​proprio modulo ASP.NET. Viene utilizzato sia per MVC che WebForms (e può essere utilizzato anche per altri tipi di applicazioni ASP.NET). Il routing è incluso nell'assemblaggio System.Web. Maggiori informazioni sulle funzionalità di routing sono disponibili su MSDN.

MVC viene implementato utilizzando IHttpHandler. L'implementazione può essere trovata here.

Ora per la domanda effettiva:

Sarebbe possibile per uno per creare e registrare un modulo di routing personalizzato e quindi, eventualmente, creare il proprio framework MVC micro come Sinatra in Ruby o Slim in PHP?

Sì. È completamente possibile. Devi creare la tua classe che implementa IRouteHandler. Quindi registra semplicemente le rotte usando quel gestore.

+0

Fantastico, grazie. :) – stormwild

Problemi correlati