rotte in .Net Core

La gestione delle rotte in .Net Core

In .Net Core la gestione del routing è gestita tramite tramite i metodi  services.AddMvc() e app.UseMvc() chiamati direttamente all’interno del file Startup.cs. Questi due metodi consentono, rispettivamente, di :

  • registrare MVC utilizzando il framework per la  Dependency Injection integrato in .NET Core
  • Aggiungere il middleware necessario alla gestione della pipeline HTTP (definendo eventualmente le rotte di default)

L’evoluzione della gestione delle rotte

Nelle Web Forms il routing era legata alla posizione fisica dei file: per poter gestire rotte personalizzate lo sviluppatore doveva installare componenti dedicati al rewrite (IIS URL Rewrite Module).

Con l’introduzione di ASP.NET MVC la gestione del routing è stata completamente riscritta, lasciando allo sviluppatore la totale gestione delle convenzioni, configurando opportunamente le direttive all’interno del file RouteConfig.cs o Global.asax (usando il metodo Routes.MapRoute). Questo metodo, basato strettamente sull’utilizzo del pattern matching prende il nome di Convention-Based Routing.

La versione MVC 5 è stata la prima a supportare un nuovo modo per la gestione delle rotte, denonimato Attribute-based routing.  Questo nuovo approccio consente di rendere versatile la gestione delle rotte, permettendo allo sviluppatore di definire le rotte direttamente all’interno del controller, tramite decoratori.

In ASP.NET Core MVC (MVC 6) la pipeline dedicata al routing è stata completamente riscritta, e la Attribute-based routing è diventata rapidamente lo standard de-facto, sostituendo la Convention-based routing. E’ comunque ancora possibile utilizzare il metodo Routes.MapRoute() all’interno di Startup.cs per definire alcuni comportamenti predefiniti.

La gestione delle rotte in .Net Core

Lo standard adottato in ASP.NET Core per la gestione delle rotte è quello RESTFUL che rispetta strettamente la convezione del protocollo HTTP con i metodi Get, Put, Post, Delete.

Seguire questo tipo convenzione è sicuramente molto utile quando si ha la necessità di scrivere  applicazioni utilizzate gruppi differenti di sviluppatori. Nel caso in cui si renda necessario definire uno standard differente è ancora possibile utilizzare la Attribute-Based Routing e la Convention-Based Routing.

Riassumento in ASP.NET Core la gestione delle rotte può avvenire in tre modi differenti:

  • RestFul Convention
  • Attribute-based routing
  • Convention-based routing

Documentazione Microsoft

Pubblicato da

Andrea Merlin

Laureato in informatica, diversi corsi di specializzazione legati allo Sviluppo Software e alla Computer forensics. Appassionato di nuove tecnologie, amo la programmazione, la Business Intelligence e tematiche legate alla Privacy.Sempre alla ricerca di nuove idee, stimoli … e progetti da seguire!Amo trascorrere il tempo libero in Val Borbera, un piccolo angolo del Piemonte, in provincia di Alessandria.