2009-12-30 3 views
2

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

Как я могу переопределить параметры из machine.config в моем web.config, не получив ConfigurationErrorsException, потому что значение уже установлено?

ответ

5

Если вы пытаетесь добавить еще одну строку соединения, используя локальный файл web.config, который имеет то же имя, что и тот, который вы добавили в machine.config, вам сначала нужно его удалить. Элемент connectionStrings работает как словарь, вы можете добавить ярлык «Удалить» или «Очистить» перед добавлением строки замены. Взгляните на this.

+0

Хорошо, спасибо, имеет смысл для меня. В основном они объединены как одна глобальная конфигурация для приложения, поэтому то, что я пытаюсь сделать, на самом деле невозможно. –

+0

Если то, что вы пытались сделать, невозможно, тогда я, должно быть, неправильно понял вопрос. Если используется память, SQL Server Express создает строку соединения в machine.config, называемую «Local Server» или что-то еще, которая затем доступна для каждого приложения, потому что, как вы сказали, конфигурации отображаются объединенными во время выполнения. Чтобы переопределить строку подключения SQL, вы можете добавить тег в ваш web.config, а затем добавить "локальный сервер" ... /> с новой конфигурацией. – Rory

+0

Да, я неправильно понял. Это помогает, когда вы читаете документы;) Я получаю это сейчас. Спасибо, это прекрасно. –

Смежные вопросы