Partager via


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

  1. Dans une fenêtre de commande, remplacez le répertoire (cd) par le dossier suivant :

    <Chemin d’accès> des exemples\XmlTools\CustomFunctoid

  2. 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

  1. Dans un projet BizTalk Visual Studio, cliquez sur le menu Outils , puis sélectionnez Choisir les éléments de boîte à outils.

  2. Dans la boîte de dialogue Choisir des éléments de boîte à outils , sélectionnez l’onglet Fonctoids du mappeur BizTalk .

  3. 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.

  4. Dans le menu Fichier , sélectionnez Quitter pour fermer Visual Studio.

  5. Démarrez l’invite de commandes Visual Studio.

  6. À l’invite de commandes, tapez devenv /setup.

  7. 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

  1. 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 :

    1. Dans un projet BizTalk Visual Studio, cliquez sur le menu Outils , puis sélectionnez Choisir les éléments de boîte à outils.

    2. Dans la boîte de dialogue Choisir des éléments de boîte à outils , sélectionnez l’onglet Fonctoids du mappeur BizTalk .

    3. 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 :

    4. 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.

    5. Cliquez avec le bouton droit sur la zone d’outils et sélectionnez Choisir des éléments.

    6. Dans la boîte de dialogue Choisir des éléments, cliquez sur Réinitialiser, puis sur OK.

    7. Fermez toutes les instances de Visual Studio.

      Si le problème persiste, procédez comme suit :

    8. Démarrez l’invite de commandes Visual Studio en tant qu’administrateur.

    9. Fermez toutes les instances de Visual Studio en cours d'exécution.

    10. Exécutez les commandes suivantes :

      devenv /resetsettings

      devenv /setup

    11. 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 :

    12. 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.

    13. Cliquez sur le groupe Fonctoids cumulés .

    14. Cliquez avec le bouton droit sur le fonctoid que vous souhaitez supprimer, puis choisissez Supprimer ou appuyez sur la touche Supprimer.

    15. Cliquez sur le groupe Fonctoids de chaîne .

    16. Cliquez avec le bouton droit sur le fonctoid que vous souhaitez supprimer, puis choisissez Supprimer ou appuyez sur la touche Supprimer.

  2. Dans une fenêtre de commande, remplacez le répertoire (cd) par le dossier suivant :

    <Chemin d’accès> des exemples\XmlTools\CustomFunctoid

  3. 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)