Il routing è quella funzionalità introdotta con ASP.NET 3.5 SP1, grazie ad una necessità di ASP.NET MVC, che ci permette creare URI decisamente più SEO. Nel nostro libro su ASP.NET 4.0 ne parlo abbondantemente e la sua forza risiede nella sua indipendenza dall'handler che deve processare la richiesta. Non dobbiamo infatti pensare che sia una caratteristica limitata ad ASP.NET MVC ne tanto meno ad ASP.NET WebForm. A tal proposito è curioso come si tende a separare le due tecnologie quando una ViewPage (classe base delle view di MVC) sia comunque una Page (classe base delle webform) che da essa erediti tutte le caratteristiche in parte poi non utilizzate, ma che in ogni modo lo rende un handler ASP.NET sottoposto alla medesima pipeline di esecuzione di una richiesta.
Volendo allargare ancora di più la visione, ASP.NET si presta anche per altri motori, come per esempio i servizi WCF. Se ne sviluppiamo uno, possiamo ospitarlo all'interno di IIS tramite i file .svc, ma questo presenta, soprattutto per le WebAPI esposte tramite REST, un brutto difetto. Un WCF Data Services viene infatti raggiungo con un URI simile a http://localhost:41874/WcfDataService1.svc/MiaOperazione di difficile comprensione e poco SEO.
Public Class Global_asax Inherits System.Web.HttpApplication Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs) RouteTable.Routes.Add(New ServiceRoute("products", New DataServiceHostFactory(), GetType(WcfDataService1))) End Sub
Con queste poche righe possiamo richiamare il servizio con l'URI http://localhost:41874/Products/MiaOperazione. Molto meglio :-)
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
- Prestazioni delle query LINQ in architetture complesse, il 30 maggio 2011 alle 11:39
- Inside ModelVirtualCasting #5: i servizi, il 7 giugno 2010 alle 17:58
- Quando usare gli optional parameter di C# 4, il 28 aprile 2010 alle 20:14
- Open Data Protocol e WCF Data Services, il 2 aprile 2010 alle 15:58
- .NET Framework 4.0 beta 1: Tuple, il 27 maggio 2009 alle 06:00