Ultime notizie
Home » Programmazione » .Net Framework » ASP.NET 4.5: Come sfruttare l’URL Routing
Asp.Net MVC : url routing

ASP.NET 4.5: Come sfruttare l’URL Routing

In applicazioni dinamiche, è molto frequente utilizzare parametri inseriti in QueryString, essendo il metodo più semplice per caricare informazioni generare pagine per ogni specifica richiesta.
Molte volte però tendiamo a evitare l’uso di questa tecnica a causa degli URL poco comprensibili e non proprio SEO Friendly che si generano.
Per permettere quindi all’utente di capire più facilmente cosa contiene la pagina che sta visualizzando e per favorire anche una migliore indicizzazione da parte dei motori di ricerca, utilizzando tecniche di SEO (Search Engine Optimizazion), possiamo utilizzare un tecnica chiamata URL rewriting, che solitamente consiste nel riscrivere l’indirizzo richiesto dall’utente mappandolo su un altro indirizzo in modo trasparente all’utente.
Con ASP.NET 4.5 possiamo fare questo in modo molto semplice utilizzando tramite la sezione system.web/urlMapping: 




Purtroppo però questa sezione è abbastanza limitata e non permette scenari più complessi, come per esempio dove sono richieste la validazione dei valori predefiniti oppure l’uso di HttpHandler particolari.
Per facilitare questi scenari, ASP.NET 4.5 dispone di un modulo specifico, URL Routing, che permette principalmente l’instradamento delle richieste, ma in maniera più evoluta rispetto all’URL rewriting, infatti non si limita a riscrivere l’indirizzo ma reimposta l’HttpHandler che prende in carico la richiesta.
il modulo intercetta tutte le richieste ed utilizza una tabella, accessibile tramite la proprietà statica RouteTable.Routes, per ottenere la RouteData per ognuno delle definizioni. Quando si utilizza l’URL Routing la definizione della tabella può essere creata o modificata in qualsiasi momento ma è consigliabile farlo all’avvio dell’applicazione, così da rendere operativi fin da subito tutti gli instradamenti.
Bisogna specificare una coppia formata dal nome e dalla classe astratta RoouteBase che nella sua unica implementazione, Route, ammetta un Url e un oggetto di tipo IRouteHandler:

void Application_Start(object sender, EventArgs e)
{
  RouteTable.Routes.Add("producttiRoute", new Route(prodotti/{IdProdotto}", 
                         new PageRouteHandler("~/prodotti.aspx")));
}

Come vediamo dall’esempio precedente le parentesi graffe le utilizziamo per definire dei segnaposto nominali, che che vengono passati poi al gestore come parametri. Ogni segnaposto deve essere necessariamente separato dall’altro da una costante, cioè da un qualsiasi carattere valido per gli URI.
Un percorso come “prodotti/{azione} {IdProdotto}” non è valido mentre lo è “prodotti/{azione} – {IdProdotto}”.

A presto per il prossimo articolo sul URL Routing di ASP:NET 4.5.



About Luigi Melisi

Analista Programmatore Senior, Team Leader in svariati progetti, con esperienza decennale in analisi, progettazione e sviluppo di software gestionale desktop e web, di E-Commerce e sistemi di Content Management System.In questi anni ho utilizzato in prevalenza tecnologie Microsoft (Visual C#, ASP.NET, SQL Server, Visual Studio, Windows Mobile, ecc.) e programmazione orientata agli oggetti, ma ho maturato esperienza anche in altre tecnologie come Java e PHP.Attualmente mi occupo di consulenza informatica, di sviluppo software gestionale personalizzato, realizzazione di Siti Web, di sistemi di Content Management System. ed E-Commerce su misura del cliente.

Check Also

Certificazioni Microsoft sul Framework .NET 4.0 e Visual Studio 2010

Dal 2 luglio è possibile sostenere gli esami per le certificazioni Microsoft sul Framework .NET 4.0 e Visual Studio 2010. In tutto ci sono 4 esami da sotenere ed Ognuno dei quali dà diritto alla certificazione Microsoft Certified Technology Specialist (MCTS) e successivamente altri due di livello "PRO" per ottenere la certificazione Microsoft Certified Professional Developer (MCPD) su Windows e Web.

Lascia un commento

%d blogger hanno fatto clic su Mi Piace per questo: