Exécution asynchrone avec "await" et "async" en 5 min

“Await” et “async” ne sont pas des mot-clé qui permettent la création de thread mais ils permettent d’indiquer au compilateur: les méthodes pour lesquelles l’exécution sera asynchrone en utilisant “async”, les endroits dans le code où on va attendre la fin de l’exécution d’une tâche en utilisant “await”. L’asynchronisme avec Async/Await permet, par exemple, d’éviter…

Continuer à lire

Gestion des “Corrupted State Exceptions” par le CLR

Toutes les exceptions n’ont pas une importance égale lors de l’exécution d’un processus. Certaines exceptions peuvent être simplement gérer au niveau d’une fonction ou d’une classe lorsqu’elles surviennent. D’autres exceptions sont plus graves parce qu’elles surviennent, par exemple, lorsque le processus a tenté de corrompre la mémoire du système d’exploitation. Ainsi le CLR traite les…

Continuer à lire

Parallel.For et Parallel.ForEach en 5 min

Parallel.For() et Parallel.ForEach() permettent de paralléliser l’exécution d’une boucle. La syntaxe de ces instructions est très proche de celles des boucles for et foreach, toutefois leur utilisation est loin d’être anodine. Il faut observer certaines précautions et avoir toujours en tête que l’exécution du corps des boucles se fait en parallèle et non séquentiellement. Parallélisation…

Continuer à lire

MSBuild en 5 min

MSBuild est un moteur de compilation utilisé par Visual Studio pour effectuer des opérations de compilation ou de nettoyage. Lorsque ces opérations sont lancées au moyen de l’interface, c’est l’exécutable msbuild.exe qui sera, en fait, exécuté. Ainsi, à partir du fichier de la solution ou des fichiers de projets, MSBuild va ordonner et lancer la…

Continuer à lire

BindingRedirect en 5 min

Le “BindingRedirect” permet d’indiquer comment charger des assemblies à la compilation d’un exécutable. L’intérêt de cette technique est: de pouvoir choisir une version différente de celle utilisée à la compilation, de faire ces indications sans avoir à recompiler l’application. Chargement des assemblies Par défaut, les dépendances sont chargées par Fusion exécuté par le compilateur JIT…

Continuer à lire