Рекомендации по развертыванию строки подключения ASP.NET

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

  1. Оставьте строки подключения в web.config и используйте преобразование XDT / msdeploy, чтобы заменить их настройками в соответствии с в мою активную конфигурацию сборки (например, файл web.PublicTest.config). Моя проблема в том, что я объединяю и закапываю несколько специфичных для сервера настроек в глобально идентичный файл со многими элементами конфигурации. Дополнительно, Я не могу поделиться определениями строк подключения между несколькими приложениями однорангового уровня.

  2. Укажите значение configSource = "DeveloperLocalConnectionStrings.config" для строк подключения в web.config, и XDT преобразует это значение, чтобы указать на один из нескольких файлов, зависящих от среды. в моей кодовой базе. Моя проблема с этим заключается в том, что я отправляю пароли для всех своих сред во все места назначения (в дополнение к SVN, конечно) и имею неиспользуемые разделы конфигурации, находящиеся на серверах, ожидающих случайного использования.

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

  4. Укажите configSource = "LocalConnectionStrings.config", не преобразовывайте значение, и отредактируйте проект xml, чтобы исключить развертывание конфигурации строки подключения. http://msdn.microsoft.com/en-us/library/ee942158.aspx#can_i_exclude_specific_files_or_folders_from_deployment - это лучшее решение, которое я нашел для удовлетворения моих потребностей в проприетарном (нераспространяемом) веб-приложении. , но я параноик, когда-нибудь придет другой член команды и скопирует производственный сайт для тестирования по какой-то причине, и вуаля! Производственная база данных сейчас модифицируется во время UAT. (Обновление: я обнаружил, что не могу использовать публикацию одним щелчком в этом сценарии, только командную строку msdeploy с параметром -skip. Исключение файла, как указано выше, аналогично установке для него действия компиляции "Нет" вместо " Content ", и в результате пакет удаляет его из целевого объекта развертывания. )

  5. Подключите пакет развертывания для запроса строки подключения, если она еще не установлена ​​(я еще не знаю, как это сделать, но понимаю, что это возможно). Результат будет аналогичен приведенному выше пункту 4.

  6. Укажите configSource = ".. \ ConnectionStrings.config". Было бы здорово для моих нужд, так как я мог бы поделиться конфигурацией между выбранными мной приложениями, и в моем каталоге приложений не было бы ничего специфичного для машины. К сожалению, родительские пути не разрешены в этом атрибуте (например, они предназначены для 'appSettings file = ""' - обратите внимание, что вы можете аккуратно использовать file = внутри configSource = reference).

ps некоторые из этих решений обсуждаются здесь: Файл конфигурации ASP.Net -> Строки подключения для нескольких разработчиков и серверов развертывания

5
задан Community 23 May 2017 в 12:16
поделиться

0 ответов

Другие вопросы по тегам:

Похожие вопросы: