Ce sujet n’a rien de récent et plusieurs solutions existent depuis longtemps. Ces solutions varient selon notamment les conditions suivantes : Compatibilité des navigateurs (notamment IE < 10) Cross-domain: domaine ou sous-domaine différent ? Ces deux conditions préfigurent les deux problèmes à résoudre pour mettre en oeuvre un upload de fichier à partir d’une page […]
Chiffrement d’un ApiController
J’ai eu un cas intéressant cette semaine: « sécuriser » les échanges entre WebApi internes, dont une partie des services est exposée en externe. Certains ApiControllers publics, d’autres internes. Je me suis orienté vers une solution simple, sans doute peu générique, malgré tout très testable. Cela consiste à chiffrer les échanges de ces contrôleurs internes (les paramètres […]
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 […]