Fonctoid personnalisé (exemple BizTalk Server)
L'exemple de fonctoid personnalisé montre comment écrire un fonctoid personnalisé pour le Mappeur BizTalk. Vous pouvez ajouter le fonctoid à la boîte à outils Visual Studio. Le fonctoid est affiché dans la boîte à outils lorsque le Mappeur BizTalk est actif.
Un fonctoid personnalisé doit résider dans un assembly du Mappeur BizTalk pour être reconnu. Il peut être écrit dans n'importe quel langage compatible .NET, tel que C# ou Visual Basic.
En outre, un fonctoid personnalisé doit dériver de la Microsoft.BizTalk.BaseFunctoids
classe, et il doit fournir une implémentation pour certaines méthodes en les remplaçant. (La BaseFunctoid
classe est définie dans l’assembly Microsoft.BizTalk.BaseFunctoids.dll inclus avec BizTalk Server.)
Fonctions de l'exemple
L’exemple de fonctoid personnalisé implémente plusieurs fonctoids, chacun dérivant de la BaseFunctoid
classe et substituant plusieurs méthodes.
Vous pouvez exposer le code Inline d'un fonctoid personnalisé lors de son implémentation. Le code Inline exécute le calcul pour le fonctoid. Le compilateur du Mappeur BizTalk extrait le code Inline d'un fonctoid et l'intègre dans le XSLT compilé lors de la création du projet.
Si votre fonctoid personnalisé n'expose aucun code Inline, le Mappeur BizTalk génère le XSLT qui appelle l'assembly dans lequel réside le fonctoid personnalisé. Dans ce cas, vous devez vérifier que l'assembly de votre fonctoid personnalisé est disponible dans le Global Assembly Cache (GAC) afin que le moteur XSLT puisse le trouver. Un fonctoid personnalisé doit avoir également un attribut de GUID unique. Le Mappeur BizTalk utilise le GUID pour identifier l'assembly à charger.
Important
Si vous réutilisez l'exemple de code de fonctoid personnalisé pour implémenter vos propres fonctoids, veillez à utiliser un attribut de GUID unique.
Accès à l'exemple
<Chemin d’accès> d’exemples\XmlTools\CustomFunctoid
Le tableau suivant présente les fichiers de cet exemple et décrit leur fonction.
Fichier(s) | Description |
---|---|
AssemblyInfo.cs | Code source C# d'informations de l'assembly. |
CBuildArray.bmp | Bitmap de la boîte à outils. |
CConcat.bmp | Bitmap de la boîte à outils. |
CExtractArray.bmp | Bitmap de la boîte à outils. |
Cleanup.bat | Utilisé pour annuler le déploiement des assemblys et les supprimer du Global Assembly Cache (GAC), ainsi que pour supprimer le fichier CustomFunctoid.dll. |
CLongestString.bmp | Bitmap de la boîte à outils. |
CMultiply.bmp | Bitmap de la boîte à outils. |
CustomFunctoid.cs | Code source C# du fonctoid personnalisé. |
CustomFunctoid.csproj | Projet C# du fonctoid personnalisé. |
CustomFunctoid.sln | Solution du fonctoid personnalisé. |
CustomFunctoidResources.resx | Ressources du fonctoid personnalisé. |
Setup.bat | Utilisé pour créer, déployer et démarrer l'exemple. |
Génération et initialisation de cet exemple
La procédure suivante permet de créer et d'initialiser l'exemple de fonctoid personnalisé.
Pour créer et initialiser l'exemple
Dans une fenêtre de commande, remplacez le répertoire (cd) par le dossier suivant :
<Chemin d’accès> des exemples\XmlTools\CustomFunctoid
Exécutez le fichier Setup.bat, qui effectue les actions suivantes :
création de l'exemple de projet ;
copie de l'assembly généré dans le répertoire Developer Tools\Mapper Extensions ;
ajout de l'assembly généré au GAC.
Notes
Avant de tenter d'exécuter cet exemple, vous devez vérifier qu'aucune erreur n'a été signalée durant le processus de création et d'initialisation.
Exécution de cet exemple
La procédure suivante permet d'exécuter l'exemple de fonctoid personnalisé.
Pour exécuter l'exemple
Dans un projet BizTalk Visual Studio, cliquez sur le menu Outils , puis sélectionnez Choisir les éléments de boîte à outils.
Dans la boîte de dialogue Choisir des éléments de boîte à outils , sélectionnez l’onglet Fonctoids du mappeur BizTalk .
Cliquez sur Réinitialiser, puis sur OK.
Notes
Si votre fonctoid personnalisé n'expose aucun code Inline, vérifiez que son assembly est disponible dans le GAC.
Dans le menu Fichier , sélectionnez Quitter pour fermer Visual Studio.
Démarrez l’invite de commandes Visual Studio.
À l’invite de commandes, tapez devenv /setup.
Démarrez Microsoft Visual Studio.
Les fonctoids personnalisés (fonctoid de concaténation personnalisé, chaîne la plus longue, fonctoid de tableau de build et fonctoid Extraire le tableau) s’affichent sous l’onglet Fonctoids de chaîne de la boîte à outils, et le fonctoid Multiplier cumulative s’affiche sous l’onglet Fonctoids cumulatifs .
Suppression de cet exemple
La procédure suivante permet de supprimer l'exemple de fonctoid personnalisé.
Pour supprimer cet exemple
Supprimez les fonctoids de la boîte à outils Visual Studio.
Avertissement
Si, après l'exécution de Cleanup.bat, les fonctoids personnalisés obsolètes apparaissent toujours dans la boîte à outils (ce qui peut tenir à une mise en cache interne dans Visual Studio), procédez comme suit :
Dans un projet BizTalk Visual Studio, cliquez sur le menu Outils , puis sélectionnez Choisir les éléments de boîte à outils.
Dans la boîte de dialogue Choisir des éléments de boîte à outils , sélectionnez l’onglet Fonctoids du mappeur BizTalk .
Recherchez les fonctoids personnalisés (fonctoids personnalisés de concaténation, de chaîne la plus longue, de création de tableau, d'extraction de tableau et de multiplication cumulative) dans la liste. Cliquez sur la zone de case activée correspondante pour supprimer les fonctoids, puis cliquez sur OK.
Si le problème persiste, procédez comme suit :
Dans le projet Visual Studio BizTalk, cliquez sur l’onglet Boîte à outils lors de la modification d’une carte pour afficher la palette de boîtes à outils.
Cliquez avec le bouton droit sur la zone d’outils et sélectionnez Choisir des éléments.
Dans la boîte de dialogue Choisir des éléments, cliquez sur Réinitialiser, puis sur OK.
Fermez toutes les instances de Visual Studio.
Si le problème persiste, procédez comme suit :
Démarrez l’invite de commandes Visual Studio en tant qu’administrateur.
Fermez toutes les instances de Visual Studio en cours d'exécution.
Exécutez les commandes suivantes :
devenv /resetsettings
devenv /setup
Vous pouvez sélectionner manuellement les fonctoids indésirables dans la boîte à outils. Cliquez ensuite avec le bouton droit sur le fonctoid, puis cliquez sur Supprimer.
Si le problème persiste, procédez comme suit :
Dans un projet BizTalk Visual Studio, cliquez sur l’onglet Boîte à outils lors de la modification d’une carte pour afficher la palette de boîtes à outils.
Cliquez sur le groupe Fonctoids cumulés .
Cliquez avec le bouton droit sur le fonctoid que vous souhaitez supprimer, puis choisissez Supprimer ou appuyez sur la touche Supprimer.
Cliquez sur le groupe Fonctoids de chaîne .
Cliquez avec le bouton droit sur le fonctoid que vous souhaitez supprimer, puis choisissez Supprimer ou appuyez sur la touche Supprimer.
Dans une fenêtre de commande, remplacez le répertoire (cd) par le dossier suivant :
<Chemin d’accès> des exemples\XmlTools\CustomFunctoid
Exécutez le fichier Cleanup.bat, qui effectue les actions suivantes :
suppression de l'assembly du répertoire Developer Tools\Mapper Extensions ;
suppression de l'assembly du GAC.
Classes ou méthodes utilisées dans l'exemple
Microsoft.BizTalk.BaseFunctoids.BaseFunctoid
Voir aussi
Utilisation de BaseFunctoid
Outils XML (dossier d’exemples BizTalk Server)