Чтение и запись ключей к наборам приложений в WebConfigEditor - PullRequest
1 голос
/ 02 марта 2011

Мой проект содержит файл web.config и внешний файл appSettings.Я делаю WebConfig Editor, в котором есть опции для чтения ключа AppSettings из web.config и внешнего файла appSetting для отображения их на webPage.Также я разрешаю пользователю удалить любой ключ, нажав кнопку «Удалить».Кроме того, пользователь также может обновить значение любого ключа, нажав кнопку обновления. Или он также может вставить новый ключ, нажав кнопку Добавить новый ключ.

Основная проблема, с которой я сталкиваюсь, заключается в том, что всякий раз, когда я пытаюсь добавитьновый ключ, он вставляется в файл web.config, как и ожидалось, но в то же время он добавляет все ключи, присутствующие во внешнем файле appSettings, в web.config (что является неожиданным поведением).

Как остановить эту миграцию ключей из внешнего файла appSettings в web.config для любой функции обновления / удаления / добавления ключа?

Ответы [ 2 ]

1 голос
/ 02 марта 2011

Для чтения поместите внешний файл в папку Config в корневой каталог, а затем используйте этот код для чтения ключа / значений на основе имени ключа, которое он прочитал из web.config или внешнего файла.

// get from web.config                                                                            
String myKey = ConfigurationManager.AppSettings.Get("Key1");
String str += "AppSetting value from web.config:" + myKey;
// get from external AppSetting file
myKey = ConfigurationManager.AppSettings.Get("Key2");
String str2 += "AppSetting value from external AppSetting file:" + myKey;                                                            

, где Key1 находится в web.config и Key2 во внешнем файле конфигурации

также
, чтобы найти значения всех ключей, используйте foreach loop

foreach (string key in ConfigurationManager.AppSettings)
{ 
    string value = ConfigurationManager.AppSettings[key];
    Console.WriteLine("Key: {0}, Value: {1}", key, value);
}
0 голосов
/ 02 марта 2011

При чтении ключей добавьте уникальную подпись с ключами файла web.config и внешнего файла настроек приложения. в сети показываются только ключи, а не подпись, а когда вы добавляете ключи, добавляйте ту же подпись (если добавляете для web.config, то подпись web.config), а при записи в web.config применяйте проверку подписи, если подпись для ключа файла внешнего приложения, игнорируйте ключ, в противном случае введите ключ.

Это простое решение, хорошо, если у вас есть запрос, спросите

...