Я храню множество настроек в AppSettings, и мне было интересно, считается ли хорошей практикой называть их в UpperCase. По сути, они такие же, как и Константы, верно? Насколько я понимаю, если вы измените Web.Config, приложение выполнит перекомпиляцию.
Итак, я подумал, стоит ли вам сохранять настройки в AppSettings в UPPERCASE (при условии, что вы называете свои константы со всем регистром UPPER).
Кроме того, переменные, которые получают значения из AppSettings, должны быть UPPERCASE?
EG.
String MY_SETTING = ConfigurationManager.AppSettings["MY_SETTING"];
Каков наилучший способ справиться с ними и заставить их выглядеть и чувствовать себя как Константы? Это даже хорошая идея? Единственный способ, которым я мог придумать, это сделать его доступным только для чтения:
readonly String MY_SETTING = ConfigurationManager.AppSettings["MY_SETTING"];
Но тогда я не знаю, как вы могли бы сделать это с помощью int:
readonly String MAX_USERS_S = ConfigurationManager.AppSettings["MAX_USERS"];
readonly int MAX_USERS; // needs to be set here... won't compile
int.TryParse(MAX_USERS_S, out MAX_USERS);
Я как-то чувствую себя грязно, настраивая переменные только для чтения, чтобы они выглядели как константы, но для меня вещи в web.config по сути постоянны.
Предложения