ASP.NET est sur le marché depuis le début de l’année 2002. Depuis toutes ces années, il est au centre de la stratégie web de Microsoft.
L’aventure a débuté en étant le digne successeur à ASP classique. À travers le temps, cette technologie a évolué en un Framework web solide basé sur .NET.
Depuis, mi 2012, la version 4.5 d’ASP.NET est accessible aux développeurs. Tel que le veut la tradition des numéros de version de .NET, celle-ci est basée sur .NET 4.5.
Il y a beaucoup de nouvelles fonctionnalités qui ont été ajoutées ou améliorées dans cette version. Notamment avec la venue du typage dynamique dans .NET et des appels de fonction asynchrone.
Sans tourner autour du sujet trop longtemps, en voici quelques-unes qui ont retenu mon attention. Il est aussi à mentionner que le sujet est beaucoup plus large que ce qui va être énuméré. ASP.NET 4.5 est une mise à jour importante du Framework.
ASP.NET Core
Modules et Handlers Async
Avec la venue de l’amélioration de la prise en charge de l’asynchronicité dans le langage C#, les API des Modules et des Handlers HTTP a été mis au goût du jour. Il est maintenant possible d’écrire ceux-ci afin que le Thread d’exécution ne soit pas dépendant de leur résultat d’exécution pour faire autre chose.
Par exemple, un HttpHandler async doit hériter de la classe HttpTaskAsyncHandler et dériver la méthode ProcessRequestAsync pour que la magie s’opère.
Inclusion de la librairie AntiXSS
AntiXSS est une librairie, développée par Microsoft, d’utilitaires permettant l’encodage d’entrée utilisateur à partir du web. Elle fait partie d’un grand ensemble appelé Microsoft Web Protection Library.
Il est possible d’utiliser directement les fonctionnalités publiques exposées par AntiXSS. Toutefois, la façon de faire la plus préconisée est de l’utiliser comme encodeur par défaut par ASP.NET. Cette technique permet, de façon transparente, à travers les différents API d’encodage d’ASP.NET. Dans ces API, il y a les fonctions HtmlFormUrlEncode et HtmlEncode, par exemple.
Support natif pour WebSocket
WebSocket est un protocole de communication web permettant un échange bidirectionnel de données sur une seule et même connexion TCP. Le protocole est maintenant largement supporté et implémenté par les principaux navigateurs. De plus, il est reconnu par l’IETF sous le joli nom de RFC 6455.
Le support pour WebSocket a maintenant été ajouté à .NET grâce à System.Net.WebSockets.WebSocket. De plus, il possède tout l’attirail d’outils vous permettant d’invoquer ses fonctions de façon asynchrone.
Bundling et minification
L’une des premières optimisations qui est à faire à votre site web est de réduire la quantité et le volume en kilooctets de fichiers JavaScript et CSS à télécharger. Pour faire cette compression et cette minification, il faut utiliser un outil automatisé pour y arriver. Pour les projets pré-.NET4.5, il fallait requérir à une librairie comme Cassette, par exemple.
Dans cette nouvelle version d’ASP.NET intègre le bundling et la minification sans librairie externe. Un guide d’utilisation détaillé se trouve sur le site asp.net. Cette technique fait même partie des projets par défaut ASP.NET MVC. Utilisez-la!
Hébergement
Prefetch
Prefetcher est un composant initialement destiné aux applications de type bureau. Il permet l’accélération du démarrage d’une application en analysant les tendances d’utilisation du disque dur. La principale technique utilisée est de regrouper les fichiers activement utilisés dans un seul répertoire pour accélérer leur accès.
Avec .NET 4.5 et Windows 8 / Windows Server 2012, prefetcher a été intégré et peut être activé pour vos application web ASP.NET. Cette fonctionnalité s’active en activant l’attribut enablePrefetchOptimization.
Forms
Model Binding
Le pendant Forms d’ASP.NET n’a pas été négligé. Il est possible d’associer un contrôle associé à une collection d’éléments (Ex : Gridview, Repeater, etc.) et de pouvoir accéder directement aux propriétés du type associé. Une image vaut mille mots :

Encodage automatique de vos expressions en HTML
Vous pouvez maintenant faire en sorte que vos données texte soient automatiquement encodées en HTML en utilisant le deux-points dans vos expressions de databinding. Par exemple, <%#: Item.Name %>
Conclusion
Il a été mentionné, plus haut dans cet article, qu’il y a beaucoup plus que ce que j’ai énuméré dans ce billet. Par exemple, il a des changements au support HTML5 de l’éditeur de contenu qui n’ont pas été couvert dans cet article et qui vont probablement vous émerveiller.
Émerveiller, dans le sens que vous allez probablement vous demande pourquoi cela n’était pas là avant? À ce point-là, je vous le dis.
Les prochaines semaines et mois vont nous permettre d’explorer les nouvelles fonctionnalités offertes par cette mise à jour. Soyez vigilants!