У нас есть приложение WPF XBAP, которое мы хотим изменить конфигурацию на сервере после его развертывания. Поскольку файл конфигурации встроен в файлы развертывания, как это возможно?
Например, мы хотим изменить строки подключения к базе данных, к которым подключено развернутое приложение, или мы хотим обновить параметры привязки службы WCF, к которой оно подключается? Мы хотим обновить файл конфигурации на сервере, и нам не нужно каждый раз перекомпилировать и развертывать заново.
Спасибо!





В каталоге SDK находится программа под названием MageUI.exe. Эта программа позволяет создавать и редактировать манифесты развертывания приложений. Вы можете обновить файл конфигурации, а затем использовать MageUI для редактирования манифеста развертывания и импорта нового файла конфигурации.
В зависимости от размера вашего приложения может быть проще нажать «Опубликовать» в Visual Studio, чем пытаться использовать MageUI и редактировать манифесты развертывания.
В качестве альтернативы вы можете настроить просмотр вашего приложения на сервере развертывания с помощью HTTP-запроса файла конфигурации (переименованного во что-то другое, кроме .config, поскольку ASP.NET по умолчанию блокирует эти файлы) для получения обновленной конфигурации.
Адам, если бы я поместил файл с именем CustomAppSettings.xml в исходное местоположение сервера развертывания ... какой метод я бы использовал, чтобы поместить этот файл в свой XBAP? Я форматирую его так же, как файл app.config, надеясь, что смогу импортировать его в объект configuraiton и напрямую получить доступ к appSettings. В противном случае, если я смогу поместить его в объект xml, я могу получить пары имя / значение. Мне не хватает кода для загрузки файла в XBAP.
Я почти уверен, что у вас есть доступ к API-интерфейсам System.Deployment при развертывании как XBAP. (Только не забудьте добавить ссылку). Используйте этот класс / свойство, чтобы получить информацию о текущем развертывании и URI для использования в качестве основы для загрузки вашего XML-файла из: System.Deployment.Application.ApplicationDeployment.Current. ActivationUri
Есть ли проблема с простым использованием внешнего файла конфигурации?