ASP.NET MVC4 C# приложение web.config содержит настройки, какКак предотвратить дублирование AppSettings в web.config
<configuration>
<appSettings>
<add key="DefaultDataBase"
value="db1"/>
..
Метод
public static string DefaultDataBase
{
get
{
return WebConfigurationManager.AppSettings["DefaultDataBase"] ?? "mydefault";
}
}
Используется, чтобы получить его в коде. Если web.config случайно содержит дубликат ключа как
<configuration>
<appSettings>
<add key="DefaultDataBase"
value="db1"/>
<add key="DefaultDataBase"
value="db2"/>
..
этот код молча Resturns неправильное значение db2
Как обнаружить дубликаты ключей и бросить ApplicationException на копиях?
AppSettings имеет свойство Keys .... вы можете перебирать его и проверять ключ «DefaultDatabase», а если count больше одного, то у вас есть дубликаты ключей ... Я не уверен. Если для этого типа поддерживается LINQ-запрос ... но если это тогда, то запрос linq будет еще лучше – Viru
_ «Как обнаружить» _ - проблема XY. Даже если вы сможете его обнаружить, это не решит проблему, так как ваше приложение не знает, какой из них использовать. Исправьте исходную проблему: используйте правильные методы развертывания, не редактируйте файлы конфигурации вручную. – CodeCaster
Реальный файл appsettings файла web.config большой. Он содержит большое количество комментариев и множество настроек. Легко добавить некоторые повторяющиеся настройки. Я спросил, как делать тотальную ошибку, если в web.config есть повторяющиеся настройки. Редактирование мануалов удобно и быстро, не нужно менять это. – Andrus