Обратите внимание, что Я в курсе этого вопроса:
Encrypting AppSettings in file external to Web.ConfigШифрование частичных внешних AppSettings CONFIG
И это НЕ боян. У этого вопроса есть ответ, позволяющий шифровать внешний файл конфигурации appSettings , только если appSettings связан с использованием атрибута configSource
. Я хочу использовать атрибут file
. Итак, у меня есть что-то подобное в моей Web.config:
<appSettings file="ExternalSettings.config">
<add key="InternalSetting" value="Test123" />
</appSettings>
... и файл ExternalSettings.config в том же каталоге, со своим собственным appSettings
разделе. Когда я запускаю свое веб-приложение, два файла appSettings
объединяются вместе. Однако, если я пытаюсь просто зашифровать свой файл ExternalSettings.config так:
var webConfig = WebConfigurationManager.OpenWebConfiguration("~/ExternalSettings.config");
ConfigurationSection section = webConfig.GetSection("appSettings");
if (!section.SectionInformation.IsProtected) {
section.SectionInformation.ProtectSection("RsaProtectedConfigurationProvider");
webConfig.Save();
}
Я получаю ConfigurationErrorsException
говоря
«Файл конфигурации не может быть создан для запрашиваемого объекта конфигурации.»
(кстати, этот код работает отлично для шифрования в appSettings
раздел, который как раз в Web.config)
Есть ли способ шифрования параметров в моем файле ExternalSettings.config, но оставляя Web.Config - незашифрованные?