Domanda

In un progetto recente, ho creato il mio framework MVC in PHP.Una delle cose che ho implementato è stato un sistema di routing.Ho utilizzato mod_rewrite di Apache per inviare tutte le richieste a index.php e quindi ho analizzato l'URI per estrarre informazioni e instradare la richiesta.

Adesso mi sto dilettando in ASP.NET e mi chiedo se/come potrei eseguire qualcosa di simile.Esiste un modo per instradare tutte le richieste (simile al modo in cui lo fa WordPress) a una pagina in cui viene eseguita l'elaborazione centrale del percorso?Sono a conoscenza del framework MVC per ASP.NET, ma mi piacerebbe provarci io stesso mentre armeggiavo e imparavo.

MODIFICARE:A proposito, il mio provider di hosting esegue IIS 6

È stato utile?

Soluzione

Questa sarà una risposta lunga, perché voglio assicurarmi che tu sia pienamente consapevole di tutti i modi in cui puoi realizzare ciò che vuoi fare.

Il motore di routing che alimenta ASP.NET MVC Framework funzionerà con il tradizionale ASP.NET Framework.È possibile trarre vantaggio dall'uso della RouteTable e dall'assegnazione di percorsi, proprio come si farebbe in un'applicazione ASP.NET MVC.Semplicemente non ottieni la parte MVC nei tradizionali siti ASP.NET.Si è trattato di un enorme miglioramento per ASP.NET Framework ed è stato fantastico vederli riutilizzare il codice e farlo funzionare in entrambi i framework.Se vuoi saperne di più su questo, dai un'occhiata a ScottGu inviare e scorri verso il basso fino a Miglioramenti del routing degli URL.Anche qui c'è a riferimento su come utilizzare System.Web.Routing in WebForms di Phil Haack.

Ora, se vuoi ancora scrivere, sei tu.Dovrai imparare la pipeline HTTP ASP.NET e come implementarla IHttpModule e il IHttpHandler interfacce per creare la tua classe HttpModule o HttpHandler per gestire il tuo routing.Queste interfacce sono la chiave per scrivere il proprio motore di routing.Per aiutare a mettere quelle interfacce in un esempio funzionante, non potrei raccomandarlo Articolo MSDN Abbastanza.Ti mostra come farlo con entrambe le interfacce e spiega le differenze quando crei il tuo motore di riscrittura di routing/URL.

Ora, se scopri che questo potrebbe essere troppo per te.Sono disponibili librerie di terze parti che è possibile utilizzare da parte di persone che hanno già scritto un motore di riscrittura di routing/URL in .NET.Ecco una domanda che ho visto porre non molto tempo fa "Quale riscrittore URL usi per ASP.Net?"proprio qui su SO.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top