Как выяснить текущий хост-процесс Biztalk - PullRequest
0 голосов
/ 26 сентября 2008

Я хотел бы знать во время выполнения, в каком из нескольких возможных процессов хоста выполняется мой текущий код. Хост-процессы настроили имена на уровне управления Biztalk, но мне нужно знать, какой процесс находится внутри кода.

Я не нашел ни одного поддерживаемого способа сделать это, и я даже застрял с поиском неподдерживаемого метода: -)

Редактировать: Спасибо Tomasr за ответ. Мне это понадобится в основном для целей регистрации / отслеживания. Не только для отображения хоста, на котором запущена ода, но и для определения соответствующего уровня трассировки.

Это также означает, что мне нужно это глубоко на уровне библиотеки, и это должно быть быстро. Я не могу пойти и получить стек вызовов, например, чтобы выяснить, в каком компоненте верхнего уровня (оркестрации, конвейере и т. Д.) Выполняется код.

С другой стороны, я мог бы понять это только один раз в одноэлементном конструкторе. Это будет вызываться один раз для каждого AppDomain и, таким образом, может занять некоторое время, чтобы разобраться. Но у меня, вероятно, нет очень значимого стека вызовов там, поэтому мы вернулись на круги своя: - /

Edit2: БД Biztalk Management должна содержать необходимую мне информацию. Он знает, какие хосты запущены на каком сервере и (возможно) идентификаторы процессов этих хост-процессов. Если бы у кого-то был указатель, где я мог бы начать искать там, это тоже помогло бы мне.

1 Ответ

1 голос
/ 26 сентября 2008

Насколько я знаю, не существует "простого" способа сделать это. Один (несколько обратный) способ получить эту информацию - использовать API ExplorerOM для запроса данных конфигурации управления и выяснить, где вы выполняете и на каком хосте / обработчике вы работаете.

Например, если вы делаете это из PipelineComponent, вы можете найти имя порта в контексте сообщения, а затем найти его с помощью ExplorerOM. Затем используйте его для запроса обработчика, связанного с адаптером, и оттуда получите имя хоста. Было бы что-то похожее для оркестровки, хотя вы бы искали полное название оркестровки.

Из любопытства, зачем вам эта информация?

...