Archives annuelles: 2011

2 articles

Comment convertir en C# un XHTML en PDF

Dans cet article, je vais illustrer comment vous pouvez convertir une page XHTML en PDF à l’aide de la bibliothèque de flying-saucer . Il s’agit d’une librairie Java et nous devons donc la convertir vers une assemblie .NET.

Je vais utiliser le compilateur Bytecode IKVM.NET (ikvmc.exe) à cet effet. Alors allez-y et téléchargez la bibliothèque flying-saucer et le projet IKVM.

Puis exécutez la commande suivante :

ikvmc.exe -target:library -out:CoreRenderer.dll iText-2.0.8.jar core-renderer.jar

Poursuivre la lecture

Quelles fonctionnalités aimeriez-vous voir dans ASP.NET MVC 4 ?

S’il y avait une seule fonction que je voudrais voir dans ASP.NET MVC 4, ce serait de voir supprimer/déprécier les ViewBag et ViewData.
Ces deux concepts conduisent à du code très laid selon mon point de vue.
Voici ce que je déteste le plus dans les ViewBag et ViewData :
  • Ils ne sont pas fortement typés et vous devez effectuer un Cast dans vos vues afin d’obtenir le type réel
  • Ils ne sont pas refactorisables car ils s’appuient sur les « magic strings »
  • Ils conduisent à des tests unitaires fragiles en raison des « magic strings »
  • Ils conduisent au code spaghetti dans les vues

Voici le patch de diff, que je serais ravi de voir appliqué pour la classe ViewDataDictionary.cs dans ASP.NET MVC 4 :

diff --git ViewDataDictionary.cs ViewDataDictionary.cs
index 4c6299f..1965e3e 100644
--- ViewDataDictionary.cs
+++ ViewDataDictionary.cs
@@ -95,12 +95,10 @@ namespace System.Web.Mvc {
 
         public object this[string key] {
             get {
-                object value;
-                _innerDictionary.TryGetValue(key, out value);
-                return value;
+                throw new Expcetion("Don't use ViewData");
             }
             set {
-                _innerDictionary[key] = value;
+                throw new Expcetion("Don't use ViewData");
             }
         }
 
Et vous qu’en pensez-vous ?