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 è possibile. E’ possibile configurare il binding di IIS, modificandone il file di configurazione
Nella directory della soluzione .NET troviamo la cartella nascosta denominata .vs .
Al suo interno, un’altra cartella denominata config 
La configurazione di IIS Express viene fatta utilizzando il file applicationhost.config.
E’ sufficiente ricercare la configurazione legata al binding modificando l’attributo “bindingInformation” da ‘localhost‘ a ‘*‘. In questo modo, IIS Express effettuerà il binding su tutte le interfacce di rete presenti sul nostro dispositivo.

Binding


A questo è necessario abilitare l’accesso all’url, tramite powershell:

  • aprire un terminale powershell (eseguito come amministratore)
  •  eseguire il comando: 

netsh http add urlacl url=http://*:18460/ user=everyone

Per l’accesso da altri pc della rete è necessario configurare il firewall del pc utilizzato per il debug, garantendo l’accesso alla porta impostata al passaggio precedente. A questo punto qualsiasi pc della rete potrà accedere alla webapplication in running e sarà possibile debuggarne gli steps.

Programmazione asincrona con async – await (parte 2)

Dopo il post introduttivo sulla programmazione asincrona in .NET, analizziamo le parole chiave asyncawait, 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 asincrona vengono generati thread separati, che non permetto di effettuare chiamate non bloccanti.

Continua a leggere Programmazione asincrona con async – await (parte 2)

Tls e problemi di connessione

L’utilizzo del protocollo SSL è un requisito fondamentale per le applicazioni web.

SSL è l’acronimo di “Secure Sockets Layer” (Livello di socket sicuri), uno standard che garantisce la sicurezza di una connessione e protegge i dati scambiati fra due sistemi, impedendo di leggere e modificare le informazioni trasferite. Questa tecnologia si è diffusa in tutti quei portali che necessitano di trasferire dati sensibili (come numero di carta di credito, password, ecc.) e si sta diffondendo anche su siti “tradizionali”.

TLS (Transport Layer Security, sicurezza del livello di trasporto) è una versione aggiornata e più sicura di SSL,  e i certificati utilizzati da HTTPS ne fanno un largo uso, utilizzando la crittografia.

Continua a leggere Tls e problemi di connessione

Entity framework e Entity Copy

Recentemente ho dovuto modificare la logica di un’applicazione che gestiva i dati memorizzati all’interno di un db, tramite Entity Framework. In particolare l’esigenza è stata quella di filtrare una serie di record (in base a particolari condizioni), modificarne alcuni dati e copiarli (ricreandoli) all’interno del database.

Continua a leggere Entity framework e Entity Copy