Le novità di Visual Studio 2013 e .NET Framework 4.5.1

di Cristian Civera, in .NET Framework 4.5.1,

Come ogni anno non può mancare l'appuntamento con una nuova release di Visual Studio, che, come vedremo in questo articolo, anche con la versione 2013 porta con se numerose novità al passo con le esigenze moderne e ai prodotti Microsoft. Per ottenere Visual Studio 2013 possiamo ricorrere ai soliti canali: le sottoscrizioni MSDN o l'acquisto per avere le versioni Professional, Premium, Test Professional, Team Foundation Server e Ultimate, oppure utilizzare le versioni gratuite Express nelle varie edizioni Web, Windows e Windows Desktop, disponibili sul sito.

Le novità di Visual Studio 2013 partono dal .NET Framework per poi toccare tutti i framework principali, anche in modo profondo, che ruotano attorno: ASP.NET, Entity Framework e Windows. In questo articolo ci vogliamo soffermare sulle novità più generiche che riguardano l'IDE e il .NET Framework, demandando il resto agli articoli più approfonditi che seguiranno.

Il .NET Framework 4.5.1

Il .NET Framework, cioè l'insieme di librerie base che accompagnano ogni sviluppo, non subisce grosse variazioni, ma piuttosto alcune correzioni e miglioramenti. Come possiamo capire dal versioning, non si tratta di una major release e questo significa che il CLR, cioè il motore che esegue il nostro codice, è lo stesso del 4.5 che a sua volta è lo stesso del 4.0. Non è richiesta nessuna operazione di migrazione e possiamo aggiornare i nostri ambienti, anche di produzione, che già funzionano con il .NET Framework 4.0 o 4.5. L'unica modifica richiesta riguarda il file .config che, come nel caso del .NET Framework 4.5, necessita di esplicitare lo sku (il profilo da adottare), come mostrato nell'esempio.

<configuration>
  <startup>
    <supportedruntime version="v4.0"
                      sku=".NETFramework,Version=v4.5.1" />
  </startup>
</configuration>

Possiamo in questo modo godere di alcuni miglioramenti apportati sulla parte JIT, cioè sulla conversione da codice IL verso il codice macchina, in particolar modo sul supporto multi core, anche sulle esecuzioni codice dinamico. Lato ASP.NET, inoltre, è stato inserito il supporto all'ASP.NET suspension, il quale permette ai processi web di passare in uno stato di sospensione (dopo un periodo di inattività), al fine di liberare risorse hardware come memoria e CPU. Questo particolare stato, ha la caratteristica di rendere di nuovo operativo il processo in tempi brevissimi qualora arrivi una richiesta, senza creare latenze per l'utente. Questa funzionalità è particolarmente richiesta in ambienti di hosting dove i siti sono molteplici e le risorse non sufficienti per coprire contemporaneamente tutti i processi. Di questa caratteristica ne beneficia anche Microsoft stessa nella sua piattaforma di cloud computing: Windows Azure. Maggiori approfondimenti sono disponibili qui.

Un'altra piccola ma importante miglioria riguarda ADO.NET che aggiunge la funzionalità di idle connection resiliency, specifica per scenari di connessioni tra client e server, la cui rete non è locale e coinvolge VPN o passa per la rete internet. In questi casi, infatti, le connessioni TCP sono soggette a cadute o a interruzioni, soprattutto dopo un periodo di inattività del canale, non solo per problemi di rete, ma anche per policy dei firewall che staccano la connessione. In queste situazioni, anche se utilizziamo il connection pooling, o disponiamo di una connection appena aperta, non è raro trovarsi ad errori di connessione che fanno fallire la nostra query. Questa situazione si presenta anche con Windows Azure, quando utilizziamo un SQL Database, e coinvolge qualsiasi strumento noi utilizziamo purché sia basato su ADO.NET, come Entity Framework o LINQ to SQL. Nel .NET Framework 4.5.1 queste eventuali interruzioni vengono gestite automaticamente, ripristinandole in modo trasparente, evitando così errori di caduta del canale. Per beneficiare di questa nuova funzionalità non dobbiamo fare alcuna modifica al nostro codice.

Poiché il .NET Framework è solo la base di sviluppo e su di esso si poggiano moltissime librerie, è facile trovare, specialmente utilizzando pacchetti NuGet, che librerie diverse abbiano dipendenze sui medesimi assembly, ma di versioni diverse. In questi scenari la confusione può creare problemi, specialmente nel compilatore che deve occuparsi del nostro codice e non sa quale libreria utilizzare. Per rimediare a questo problema, se stiamo usando la versione 4.5.1, in unione a Visual Studio 2013, troviamo abilitato l'automatic binding redirection, il quale aggiunge automaticamente i redirect verso un unico assembly, evitando conflitti. Per maggiorni informazioni è disponibile la documentazione a questo indirizzo.

4 pagine in totale: 1 2 3 4
Contenuti dell'articolo

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

Top Ten Articoli

Articoli via e-mail

Iscriviti alla nostra newsletter nuoviarticoli per ricevere via e-mail le notifiche!

In primo piano

I più letti di oggi

In evidenza

Misc