Question

Je voudrais savoir au moment de l'exécution quels processus hôte possibles sont exécutés par mon code actuel. Les processus hôtes ont configuré les noms au niveau de la gestion de Biztalk, mais j'ai besoin de savoir quel processus je suis dans le code.

Je n'ai trouvé aucun moyen de le faire et je suis même bloqué par la recherche d'une méthode non prise en charge: -)

Edit: Merci à tomasr pour la réponse. J'en aurais besoin principalement à des fins de journalisation / traçage. Non seulement pour afficher l'hôte sur lequel l'ode s'exécute, mais également pour déterminer le niveau de trace approprié.

Cela signifie également que j’ai besoin de cette information au plus profond de la bibliothèque et qu’elle doit être rapide. Je ne peux pas aller chercher la pile d'appels, par exemple, pour savoir quel composant de niveau supérieur (orchestration, pipeline, peu importe) dans lequel le code est exécuté.

D'autre part, je ne pouvais le comprendre qu'une seule fois dans un constructeur singleton. Cela serait appelé une fois par AppDomain et pourrait donc prendre un peu de temps à rechercher des choses. Mais je n’ai probablement pas de pile d’appel très significative, nous sommes donc de retour à la case départ: - /

Edition2: La base de données de gestion Biztalk doit contenir les informations dont j'ai besoin. Il sait quels hôtes sont démarrés sur quel serveur et (probablement) les identifiants de processus de ces processus hôtes. Si quelqu'un a un pointeur sur lequel je pourrais commencer à regarder, cela m'aidera aussi.

Était-ce utile?

La solution

Pour autant que je sache, il n'y a pas de "simple" façon de le faire. L’un des moyens (quelque peu inverses) d’obtenir ces informations serait d’utiliser l’API ExplorerOM pour interroger les données de configuration de la gestion et déterminer le lieu où vous vous exécutez ainsi que l’hôte / le gestionnaire utilisé.

Par exemple, si vous le faites à partir d'un PipelineComponent, vous pouvez rechercher le nom du port dans le contexte du message, puis à l'aide de ExplorerOM. Ensuite, utilisez-le pour interroger le gestionnaire associé à l'adaptateur, puis obtenez le nom d'hôte. Ce serait quelque chose de similaire pour l'orchestration, bien que vous recherchiez le nom complet de l'orchestration.

Par curiosité, pourquoi avez-vous besoin de cette information?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top