Поиск вариантов использования внешних сборок в BizTalk 2009

У нас есть это решение Biztalk 2009, которое, среди прочего, записывает плоские текстовые файлы (разделенные табуляцией) в каталог (я полагаю, это порт отправки).

Перед записью файла в разных полях выполняется некоторая логика (удаление нежелательных символов, синтаксический анализ и т. д.), и эта логика хранится в стандартных классах C#.

Теперь, когда я нашел эту логику, где я могу увидеть, где она используется и откуда на нее ссылаются?

Я спрашиваю об этом, так как хотел бы реализовать ту же идею в других полях до записи файла.

Решение довольно большое.

Я просмотрел оркестровки и конвейеры и не смог найти упоминания об указанных классах и их методах.

Я также попробовал выполнить поиск VS «Все решение», нашел некоторые упоминания в некоторых файлах XSD/XML, но ничего не говорит мне, где предыдущий разработчик решил, что эта логика будет использоваться. Также попробовал «Найти все ссылки», но, будучи приложением Biztalk, оно не работает так же, как в стандартном решении .NET.


person Francis Ducharme    schedule 23.10.2013    source источник
comment
И в этом заключается фундаментальная проблема с BizTalk. Я думаю, что я, вероятно, попытаюсь выполнить поиск в папке с решением из внешнего приложения, такого как Agent Ransack (mythicsoft.com/agentransack), который отлично подходит для поиска внутри файлов. Возможно, вы найдете что-то в файлах карт (.btm) или оркестровки (.odx).   -  person Sir Crispalot    schedule 24.10.2013
comment
Один из способов узнать, на что ссылаются, — временно удалить код из решения, а затем скомпилировать его. Вскоре вы получите ошибку компиляции, указывающую, где именно находится ссылка.   -  person Dijkgraaf    schedule 24.10.2013
comment
Ах, я думаю, что он использовался в отображениях (.btm) в качестве функтоидов. Вы можете выбрать «Внешняя сборка», затем «Сборка сценария», затем «Класс сценария», а затем «Метод сценария», нажав кнопку «Настроить скрипт Functoid [...]» в свойствах.   -  person Francis Ducharme    schedule 24.10.2013
comment
@Francis: если вы поняли это, это поможет другим, если вы ответите на свой вопрос и предоставите метод, который вы использовали.   -  person Sir Crispalot    schedule 25.10.2013


Ответы (1)


Оказывается, на эти классы и их методы ссылаются в functoids.

Если вы откроете файл .BTM (сопоставление), вы увидите, как они могут манипулировать данными между исходной и целевой схемой.

В разделе «Настройка Functoid Script» вы можете выбрать Inline C#, JScript.NET и другие для выполнения определенных операций с потоком данных между исходной и целевой схемой. Одним из таких вариантов является «Внешняя сборка», где вы сможете выбрать метод из класса, на который вы ссылаетесь в своем проекте.

Путем «Настройка входов функтоидов» вы сможете настроить параметры, которые будут отправлены в метод, на который ссылается «Внешняя сборка».

Выполняя поиск в «Все решение» по имени метода, вы в конечном итоге найдете его упоминание в XML-содержимом файла .BTM. Откройте файл BTM (просто дважды щелкнув его в своем решении) оттуда, найдите все эти символы «S» в сетке, вот где это, вероятно, произойдет.

person Francis Ducharme    schedule 25.10.2013