Impostazione delle variabili d’ambiente per ASP.NET Core

ASP.NET Core utilizza la variabile d’ambiente ASPNETCORE_ENVIRONMENT per determinare l’ambiente di esecuzione corrente. I valori predefiniti che questa variabile può assumere sono Development, Staging oppure Production. Inoltre è possibile personalizzarne il valore con uno custom. Le variabili d’ambiente sono case insensitive.

WebHostBuilder è l’oggetto che consente di determinare l’ambiente in cui l’applicazione è in esecuzione. Per poter recuperare il contesto attuale è possibile utilizzare IHostingEnvironment , in modo da poter determinare un comportamento specifico in base all’ambiente. Ad esempio, nell’ambiente Production l’applicazione potrebbe abilitare la minimizzazione delle risorse, mentre in Development non eseguire nessuna particolare ottimizzazione.

Continua a leggere Impostazione delle variabili d’ambiente per ASP.NET Core

Entity Framework Core – Creare il database all’avvio

Una funzionalità piuttosto utile,  presente in Entity Framework 6.0,  è quella di creare il database in fase di inizializzazione dell’applicatione. In particolare, utilizzando :

è possibile automatizzare le operazioni di creazione della struttura del database, nel caso in cui non esista. Ovviamente il database creato rispetta le definizioni presenti all’interno del contesto (nell’esempio MyContext).

Anche in Entity Framework Core esiste una funzionalità simile: la configurazione dovrà essere effettuata all’interno del file Startup.cs.

Continua a leggere Entity Framework Core – Creare il database all’avvio

Tag helpers

Se si ha familiarità con gli Html Helpers di .Net, i tag helpers semplificano ulteriormente la creazione di elementi all’interno delle View. Nel framework sono presenti molti tag helper predefiniti per le attività comuni, ad esempio la creazione di moduli e collegamenti, il caricamento di dati e così via, e altri ancora sono disponibili nei repository GitHub pubblici e come pacchetti NuGet.

Continua a leggere Tag helpers

Dependency Injection in ASP.NET Core

Nel normale workflow di un’applicazione classi e metodi richiedono esplicitamente parametri all’interno del loro costruttore o del metodo stesso.

Tecnicamente se una classe richiede che un’altra classe esegua delle operazioni, sicuramente esiste un legame di dipendenza tra di loro: si può affermare che la classe A ha una dipendenza con la classe B.

Se tali dipendenze sono presenti solo all’interno della classe e non sono indicate nella sua interfaccia pubblica, vengono definiti dipendenze implicite.

Continua a leggere Dependency Injection in ASP.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)

Continua a leggere La gestione delle rotte in .Net Core