Self Host Web API 2

En cherchant des exemples d’application self host Web API avec OWIN (spécification implémentée par Katana), les seuls (mais nombreux) que j’ai trouvé mélangeaient tous les frameworks en une seule application, console typiquement. Cet article présente l’exemple que j’aurai aimé trouver pour démarrer ma première application avec OWIN. Mon objectif initial était de concevoir un service […]

TinyProfiler

Vous est-il déjà arrivé d’évaluer le temps d’exécution d’un bout de code, à partir des logs ? Si oui et que vous trouvez cela laborieux, TinyProfiler est un exemple minimaliste (mais complet) pour mesurer le temps d’exécution par régions de code, en implémentant l’interface IDisposable. Il est souvent nécessaire d’identifier les parties les moins performantes […]

Pattern Strategy

Je me rends compte que j’utilise ce pattern régulièrement depuis plus de six mois chez mon client actuel. C’est l’occasion d’en faire un retour car on en parle beaucoup moins que l’incontournable IoC. Contrairement à ce dernier, l’intérêt du pattern Strategy dépend beaucoup des projets. Je me permets d’utiliser certains termes en anglais. Ce sont […]

Énumérations avec FlagsAttribute

FlagsAttribute appliqué à une énumération permet de combiner plusieurs valeurs de cette énumérations. Rien de nouveau pour vous (sinon, voir MSDN). Mais de quelle façon définissez-vous les valeurs ? [Flags] public enum MyFlags { Flag1 = 0x01, // 00001 Flag2 = 0x02, // 00010 Flag3 = 0x04, // 00100 Flag4 = 0x08, // 01000 Flag5 […]

Localisation

La localisation d’une application est un sujet à prendre en considération le plus tôt possible. La problématique principale est de permettre un mécanisme simple pour localiser toutes les ressources (chaînes, images, etc.). Cet article se limite à la localisation des chaînes. Il s’agit d’une approche paresseuse que j’ai pu expérimenter sur de véritables projets, et […]

Pourquoi une tolérance aux fautes dans Application_Start() ?

Ce que laisse entendre le titre n’est pas tout à fait exact : la méthode Application_Start n’est pas tolérante aux fautes : une exception non capturée arrêtera son exécution. En revanche, l’application web est bien tolérante aux exceptions propagées par cette méthode. Je me souviens avoir été un peu surpris lorsque j’ai appris cela (et […]