0

У меня есть сторонняя библиотека, которая загружает конфигурацию из app.config Теперь я хочу настроить ее через Azure Service Fabric Использование стандартных параметров settings.xml потребует большой работы. Вместо этого я надеюсь просто скопировать старый файл app.config в папку SF Config и загрузить конфигурацию оттуда.Service Fabric Legacy Settings

В основном единственное, что я не мог понять, это узнать путь, по которому содержимое Config/* будет работать во SF. я могу получить Context.CodePackageActivationContext.WorkDirectory Однако, то путь от который .. \ MyClass.ServicePkg.Config.1.0.0 \ app.config

Есть ли путь я могу запросить в контексте как-то получить полный путь к папке config?

ответ

1

Да, вы можете получить абсолютный путь к вашим пакетам коды и Config, подставляя имена ваших пакетов («Код» и «Config» имена по умолчанию в шаблонах Visual Studio проекта):

string codePackagePath = this.Context.CodePackageActivationContext.GetCodePackageObject("Code").Path; 
string configPackagePath = this.Context.CodePackageActivationContext.GetConfigurationPackageObject("Config").Path; 

Некоторая справочная информация об упаковке услуг here.

tl; dr: Услуги состоят из пакетов «code» (ваши исполняемые файлы и библиотеки DLL) и «config» (любой произвольный файл конфигурации или встроенный файл Settings.xml). Пакеты могут версироваться и обновляться независимо друг от друга. Это можно увидеть в Проводнике сервисов на вкладке «Сведения» типа приложения (обратите внимание на поле «Имя» - вы можете использовать любое имя, которое вы хотите, и это имя, которое вы ввели в GetCodePackageObject()).

enter image description here

+0

Perfect. Thanx! –