Я хотел бы зашифровать строку подключения моего web.config. Здесь Я нашел хороший пример того, как это сделать. Я реализовал это, и на моей машине разработки это работает найти.
Однако, если я загружаю его в провайдер, он не работает со следующей ошибкой:
[SecurityException: запрос не выполнен.]
System.Configuration.DpapiProtectedConfigurationProvider.Encrypt (узел XmlNode)
В этом блоге, который я прочитал, это связано с тем, что сеть, вероятно, работает со средним доверием и, следовательно, WebConfigurationManager.OpenWebConfiguration
не может использоваться. Вместо этого следует использовать WebConfigurationManager.GetSection
. Однако, если я получаю предложенный раздел, вызов ProtectSection
завершится неудачно со следующим сообщением об ошибке:
System.InvalidOperationException: эта операция не применяется во время выполнения
Может кто-нибудь привести меня к решению, как я могу кодировать (и декодировать) строку подключения в файле web.config (во время выполнения)?
Обновление
Не настоящий ответ на вопрос, но хостер полностью доверял сети, и теперь все работало нормально. Я оставляю вопрос открытым, может быть, кто-то опубликует решение исходного вопроса и поможет людям с такой же проблемой, но не получающих полного доверия.