Revue du web .NET du 22 février

Les tweets de la semaine

 http://twitter.com/cadred/statuses/9242655924 une revue du web .NET quotidienne, elle va très bien avec le café du matin

http://twitter.com/romainverdier/status/8922567409 la conversion de delegate, Func<T,bool> == Predicate ?

http://www.alexatnet.com/content/net-memory-management-and-garbage-collector un petit rappel sur le Garbage collector en .NET

La question Stackoverflow

 http://stackoverflow.com/questions/129453/net-eventhandlers-generic-or-no les bonnes pratiques officielles concernant les events en .NET peuvent être rébarbatives, cette question se concentre sur la classe représentant les arguments des évènements et sa version générique. 

Actualités Microsoft 

Windows Phone 7 Series a été annoncé, enfin les détails “grand public”, concernant les développements il faudra attendre un peu : on parle d’une version de Visual Studio gratuite et dédiée pour le début de l’été et un environnement de développement autour de Silverlight ou XNA pour le jeux. En attendant voici un graphique intéressant qui donne la répartition des profits de Microsoft selon les lignes de produits – on y voit bien l’effet de Windows 7 :

Microsoft profit
Microsoft profit

Actualités “Alt.NET”

On vous indiquait dans une édition précédente de la revue du web les présentations de SkillsMatter, celle de Udi Dahan sur Command Query Responsibility Segregation est maintenant en ligne : http://skillsmatter.com/podcast/open-source-dot-net/udi-dahan-command-query-responsibility-segregation/rl-311

De l’autre côté

Hibernate, un des plus anciens ORM, continue son bonhomme de chemin et devient avec la version 3.5 conforme à la version 2 de la spécification JPA (un standard Java pour la persistance des données). Quelques nouveautés : Les annotations (équivalent des attributs en C#) sont incorporées dans le projet général, support de JDBC 4, la possibilité de décrire des schémas de chargement (Fetch Profiles). Cette dernière fonctionnalité est intéressante car si un ORM vous débarasse de l’écriture d’une couche d’accès aux données fastidieuse, le lazy loading a un effet pervers : on ne contrôle plus la granularité du graphe d’objets récupérés et on se retrouve vite avec des problèmes comme le Select N+1.

Un projet 

ELMAH est un projet qui permet de gérer l’audit des erreurs dans une applications ASP.NET. Les exceptions sont sauvegardées dans une base de données (Sql Server, Oracle, SQlite, un fichier XML).

La configuration consiste à ajouter un certain nombre de section pour paramétrer les différents aspects : logging, reporting, notifications etc. :

<sectionGroup name=“elmah”>

</sectionGroup>

Ainsi que les handler et le httpmodule dans les sections respectives :

<add verb=“POST,GET,HEAD” path=“elmah.axd” type=“Elmah.ErrorLogPageFactory, Elmah” />

<add name=“ErrorLog” type=“Elmah.ErrorLogModule, Elmah”/>

On configure le datastore, ici SQLite :  

<elmah>

<errorLog type=“Elmah.SQLiteErrorLog, Elmah” connectionStringName=“Elmah.SQLite” />

</elmah>

<connectionStrings>

<add name\="Elmah.SQLite" connectionString\="data source=~/App\_Data/Elmah.SQLite.db" />

</connectionStrings>

On peut aussi specifier une notification par email (ou Twitter):

<errorMail from=“elmah@example.com

         to\="admin@example.com"

         cc\="carboncopy@example.com"

         subject\="..."

         async\="true|false"

         smtpPort\="25"

         smtpServer\="smtp.example.com"

         userName\="johndoe"

         password\="secret" />  

La page permet de voir une liste des erreurs survenues et de voir le détail de la requête HTTP à l’origine du problème. On peut alors téleécharger le log et s’abonner à un flux RSS des erreurs :

copie d'écran de la page d'erreur
copie d'écran de la page d'erreur

Auto-promotion

nVentive organise une série de bootcamps sur des sujets très variés comme WPF, TDD ou encore NHibernate.Tous ces ateliers sont orientés développement d’applications d’affaires et font une large place aux labs.

Voici une liste des formations et leur description plus complète.

billet publié dans les rubriques coding le