2012-04-11 3 views
2

У меня есть внешняя сборка .net, включая app.config, которую мне нужно вызвать из Biztalk Orchestration.Звоните .Net-сборку из Biztalk Orchestration: Куда поместить конфиг?

Я поместил некоторое протоколирование в сборку .net и могу видеть, что он не читает или не может найти файл app.config, как ConfigurationManager.AppSettings.Count 0

Я установил. net сборку с GAC с помощью gacutil/i path.to.dll, и я не уверен, что происходит с app.config.

Любые идеи о том, как я уверен, что app.config читается, когда я называю это из оркестровки Biztalk?

Спасибо.

ответ

12

BizTalk использует собственный файл конфигурации btsntsvc.exe.config, который находится в каталоге программных файлов BizTalk. Вы можете добавить свои разделы конфигурации в этот файл, а затем отсканировать экземпляры хоста biztalk, чтобы получить изменения.

HOWEVER, это не очень хорошая практика. Это нормально, если у вас есть только один сервер приложений biztalk, но если вам нужно быстро масштабировать, у вас есть несколько файлов конфигурации для поддержки.

Рекомендованный подход - использовать SSO для хранения конфигурационных данных, специфичных для приложения, поскольку это решение для хранения конфигурации BizTalk и поэтому всегда доступно. Я всегда использую этот метод и никогда не испытывал никаких проблем (хотя есть некоторые накладные расходы, связанные с разработкой и управлением).

Подробная информация о том, как это сделать, here в блоге Ричарда Серотера.

Я фактически использую модифицированную версию here.

Я также использую задачу MSBuild here для автоматизации развертывания новой конфигурации.

Редактировать: отправил код для оборачивания SSOCLient и вызов конфигурации значения here

0

Вы также можете использовать пользовательское решение. Создайте функцию в своем внешнем проекте, которая загрузит файл конфигурации в виде XML-документа, и вы можете извлечь значение из файла конфигурации.

XmlDocument doc = new XmlDocument(); 
doc.Load(Config Path); 
string value = doc.SelectSingleNode("/configuration/appSettings/add 
[@key='key']/@value").Value; 
Смежные вопросы