DavideBertagna.it

Dio salva ma intanto faccio dei backup incrementali

ASP.NET 3.5 routing e *.axd

novembre 07
by Davide 7. novembre 2009 04.02

Usando il routing di asp.net 3.5 sp1 potrebbe capitare la necessità di voler gestire tutto il traffico chiamante a livello root del sito tramite una istruzione simile:

RouteTable.Routes.Add("Root", new Route("{root}", new RouteHandler()));

attenzione però, cosi facendo i file di risorse .axd (ajax, freetextbox e altro) non verranno processati perchè verranno a loro volta reindirizzati, molte soluzioni in rete indicano di usare il metodo Routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); purtroppo questo metodo non funziona per le soluzioni non MVC, per risolvere il problema in un normale sito asp.net web form inserire prima della riga precedente quest'altra riga nel file global.asax nell'evento Application_Start:

RouteTable

.Routes.Add(new Route("{resource}.axd/{*pathInfo}", new StopRoutingHandler()));

così facendo si eviterà di reindirizzare il flusso alla chiamata di una risorsa .AXD.

Smile

Tags:

Commenti

Commenti chiusi

Questo blog?

Davide

Sviluppo applicazioni web su linguaggi .NET. Lo scopo principale di questo blog è tenere traccia delle varie problematiche che ho incontrato e fornire spiegazioni sulla loro risoluzione. Saranno presenti anche articoli e informazioni riguardo tutto ciò che catturerà il mio interesse, non legato per forza all'ambiente IT.

Responsabilità

I testi che trovate in questo blog sono espressioni personali frutto di una mia esperienza e come tali devono essere interpretati. Non mi assumo nessuna responsabilità sull'utilizzo o l'applicazione di qualsiasi informazione trovata in questo blog.