Хорошо, я нашел ответ на свой вопрос.Как оказалось, снижение производительности с зашифрованной конфигурацией связано с ошибкой в коде платформы нашего решения.По сути, был оставленный код от того, что мы пытались реализовать, который открывал конфигурацию с диска каждый раз, когда мы обращались к строке подключения или к любому параметру приложения:
var config = ConfigurationManager.OpenMappedExeConfiguration()
Я изменил этот код, чтобы просто использоватьConfigurationManager.AppSettings[]
и теперь все работает отлично.Итак, я обнаружил, что ConfigurationManager
читает с диска при первом обращении к свойству, а также дешифрует файл только в первый раз.После этого он просто читает значения из расшифрованных разделов в памяти.