Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Arnaud CLERET


Astuces et News : .Net, BizTalk, Team System, SQL ...

Actualités

BizTalk Server: Debug avancé

Dans certains cas de débug, il peut être intéressant de pouvoir accéder directement aux codes sources produits lors de la compilation d'un projet BizTalk et du coup pouvoir profiter du débugage en pas à pas de ces codes sources.

Cette manipulation n'est que peu recommandée mais peut s'avérer fortement utile pour comprendre des comportements lors de l'exécution de pipeline, orchestration ...

Plusieurs étapes distinctes sont donc nécessaire pour arriver jusqu'au débug en pas à pas du code source :

1. Produire le code source à partir d'un projet de type BizTalk :

La manipulation est simple mais non documentée comme l'explique ce post de Charles Young ; il est donc nécessaire d'ajouter cette clé de registre avant toute autre chose :

Key Location : en fonction de la version de BizTalk et surtout de Visual Studio
      -> BizTalk Server 2004 avec Visual Studio .Net 2003 : HKCU\Software\Microsoft\VisualStudio\7.1
      -> BizTalk Server 2006 et 2006 R2 avec Visual Studio 2005 : HKCU\Software\Microsoft\VisualStudio\8.0
Key Name: BizTalkProject
Value Type: DWORD
Value Name: GenerateCSFiles
Value : 1

Une fois cette clé ajoutée, il suffit de relancer Visual Studio et de recompiler la solution pour voir apparaître l'ensemble des fichiers .cs de chacun des objets tels que map, schéma, orchestration ...

2. Construire une solution custom à partir du code source

Maintenant que les fichiers de codes sources sont à disposition, il est nécessaire de construire un projet de type "Class Library" contenant l'ensemble de ces fichiers .cs. Quelques règles indispensables sont à suivre pour obtenir l'assembly correspondante à celle produite par le projet BizTalk :

    • Modifier la sortie du projet afin d'obtenir une assembly avec le même nom que celle du projet BizTalk
    • Signer l'assembly avec la même clé que celle du projet BizTalk
    • Ajouter les références nécessaires vers les assemblies BizTalk :
      • Microsoft.XLANGS.BaseTypes.dll
      • Microsoft.XLANGS.Engine.dll
      • Microsoft.XLANGS.RuntimeTypes.dll
      • Microsoft.XLANGS.BizTalk.Engine.dll
      • Microsoft.XLANGS.BizTalk.ProcessInterface.dll

Une fois ces étapes effectuées, il ne reste plus qu'a compiler le projet avec ses fichiers pdb en sortie (option par défaut) et à déployer l'assembly produite.

3. Déploiement de l'assembly custom

La phase de déploiement reste tout aussi simple que le reste puisqu'il suffit d'utiliser la console d'administration de BizTalk afin d'effectuer la mise à jour de la ressource. Ce procédé permet de s'assurer du déploiement de l'assembly dans le GAC et de l'enregistrement au sein de BizTalk :

Une fois le déploiement de cette nouvelle assembly effectué, il suffit de redémarrer le host BizTalk pour que la mise à jour soit prise en compte.

4. Lancement du débug

Après avoir posé des BreakPoint à quelques endroits stratégiques de votre orchestrations, la dernière étape consiste donc à lancer le debugger en s'attachant au process du host BizTalk : BTSNTSvc.exe . Dès qu'un flux transitera sur la plateforme le debuger sera activé et vous pourrez prendre la main en pas à pas sur l'exécution du code :

Voilà donc un procédé simple et efficace d'analyse du code produit lors de la compilation des objets d'un projet BizTalk et de débug en mode pas à pas.

Bon debug à tous ! Wink

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Posted: dimanche 15 juillet 2007 17:19 par arno
Classé sous :

Commentaires

Pas de commentaires

Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- [Refactoring] ReSharper pour Visual Studio 2010 (Preview) par Thomas Jaskula le il y a 3 heures et 58 minutes

- [Refactoring] Analyser vos exceptions avec ReSharper Exceptional par Thomas Jaskula le il y a 5 heures et 12 minutes

- SharePoint 2007 : patterns & practices SharePoint Guidance par Philippe Sentenac [MVP SharePoint] le il y a 18 heures et 52 minutes

- [Visual Studio 2010] Les tests cases c’est bien, mais je vais devoir tout réécrire ? par Etienne Margraff le il y a 19 heures et 48 minutes

- MVP[Gribouillon].AddYear par The Grib's Lair [Sébastien PICAMELOT - MVP SharePoint] le il y a 20 heures et 3 minutes

- Clinique INSIA - Projet de fin d’Etudes (Silverlight 3 MVVM et OutOfBrowser, WCF, TFS) - Part 1 par David REI le 07-02-2009, 23:38

- C’est la crise ? Bah pourquoi cramer du budget pub alors ? par Nix's Blog le 07-02-2009, 15:31

- Soyons MVP ! par TheSaib .NET blog le 07-02-2009, 12:15

- SharePoint : Gestion des Erreurs 6398, 7076 et 6482 par Blog Technique de Romelard Fabrice le 07-02-2009, 11:53

- EF avec WPF par Matthieu MEZIL le 07-02-2009, 10:18