Я просто исследовал эту тему. И это правда, что настройки конфигурации кэшируются в памяти.
Однако вы все еще можете увидеть выигрыш в производительности, сохранив значения в статических переменных, как вы упомянули (и как описано здесь ). Это связано с тем, что коллекция AppSettings представляет собой NameValueCollection
. И поэтому каждый раз, когда вы ссылаетесь на AppSetting, он должен искать коллекцию, которая является операцией O (n).
Хотя это, вероятно, редкая вещь, которая когда-либо была бы узким местом вашего приложения. Но можно представить сценарий с узким циклом, ссылающимся на одно значение в AppSettings, где коллекция AppSettings очень велика. В этом случае вы могли бы также кэшировать значение некоторым способом, даже если оно просто хранит его в локальной переменной перед началом цикла.