Ссылка Microsoft.Biztalk.explorerom.dll в приложении asp.net, приводящая к исключению system.nullreferenceexception

У меня есть приложение asp.net для запуска / остановки приложений и портов BizTalk Server 2006 r2. Я использовал "Microsoft.Biztalk.explorerom.dll (C:/Program Files/BizTalk Server 2006/Developer tool") для достижения этой цели. Это нормально работает на компьютере разработчика, так как сервер biz talk установлен на локальном компьютере. Но в производственной среде (веб-сервер asp.net,windows 2003 и iis 6.0)... это дает System.nullreferenceexception (ссылка на объект не установлена ​​..) в

BtsCatalogExplorer explorer = (BtsCatalogExplorer)myGroup.CreateInstance(typeof(BtsCatalogExplorer))

Мой BizTalk-сервер и SQL-сервер находятся на двух разных боксах. В моей настройке (веб-приложение asp.net).. добавление Microsoft.Biztalk.explorerom.dll и Microsoft.Biztalk.Applicationdeployment.engine.dll в GAC. Но все равно не повезло.

Нужно ли устанавливать сервер BizTalk на локальный компьютер, даже если я подключаюсь к другому серверу BizTalk?

2 ответа

Боюсь, мне придется ответить "да, если вы хотите использовать BTSCatalogExplorer, у вас должен быть установлен BizTalk". Я уверен, что это верно для BT 2006 и более ранних выпусков. Нужна только установка. Он не должен быть активным участником, выполняющим что-либо (например, без экземпляров хоста), а только частью группы.

Я также знаю, что BT 2009 вышел с новым "инструментом для сборки". Это позволяет создавать проекты BT без установки BT. Может быть, это позволяет удаленную связь с БД управления BT также (через BTSCatalogExplorer), но я не изучал и не пробовал это.

Надеюсь, это поможет, да, WebFarms и BT - дорогой вариант. Консультировать; проведите сквозной сервис извне, передав его на машину, на которой установлен BT. Сохраняет много лицензий (но может быть узким местом для производительности)

Надеюсь это поможет,

Совершенно правильный вопрос, который я задал Microsoft. Итог, это вопрос лицензирования. Для использования объектной модели у вас должна быть лицензия BT.

Я никогда не пытался заставить работать версию "только библиотеки". Я просто выбрал транзитный веб-сервис.

Просто чтобы следить за вашей текущей идеей / прогрессом; Возможно, вы захотите проверить цепочку зависимостей основного BTSExplorerOM.dll, чтобы увидеть, есть ли какие-либо ссылки, которые вы пропустили. Я уверен, что он использует более 2 сборок.

BT использует множество различных каталогов для хранения своей сборки (компоненты конвейера загружаются из подкаталога BT, например, вместо GAC).

Можете ли вы получить более подробную информацию о "NullReferenceException", которое вы получаете? Например, какой объект / библиотека это вызывает. Вы можете попытаться использовать FUSLOGVW.exe, чтобы проверить, все ли слияния собраний прошло успешно, и взять его оттуда.

Надеюсь это поможет,

Другие вопросы по тегам