Docker – Struttura Gli elementi fondamentali della struttura di docker sono le immagini, i containers, i services e lo stack. Si possono considerare immagini e containers come l’equivalente di classi / istanze utilizzate nei linguaggi di programmazione ad oggetti. Analogamente a quanto avviene per una classe che viene istanziata tramite la keyword new, anche le immagini sono “istanziate” utiilizando il comando […]
Visual Studio e debug in rete Durante la fase di test di un’applicazione può essere utile accedere a IIS Express da remoto. Normalmente quando viene eseguito il debug da visual studio, IIS Express è eseguito come http://localhost:80, quindi con il binding sulla porta 80 di localhost. Da qualsiasi altro client di rete (ma anche da internet in caso di NAT), il debug non è […]
Programmazione asincrona con async – await (parte 2) Dopo il post introduttivo sulla programmazione asincrona in .NET, analizziamo le parole chiave async e await, introdotte a partire da C# 5.0. Async e Await consentono di scrivere codice asincrono in modo semplice: il codice risulta molto simile a quello sincrono, con tutti i vantaggi che ne derivano in termini di gestione di thread. Nella programmazione […]
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 […]
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 : Database.SetInitializer(new CreateDatabaseIfNotExists<MyContext>()); è 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 […]