Изменение web.config файл на основе Переменной среды в ASP.NET

var id = $(this).dataset.id

работает на меня!

10
задан Ryan 16 July 2009 в 21:19
поделиться

4 ответа

Мы используем атрибут configSource для элементов appSettings и connectionStrings в web.config.

По сути, у нас есть один и тот же файл web.config для всех наших сред: dev, qa и production.

Затем мы используем отдельные "специфичные для среды" файлы .. Например ...

В web.config:

<?xml version="1.0"?>
<configuration>
  <appSettings configSource="local.appsettings.config" />
  <connectionStrings configSource="local.connectionstrings.config" />
</configuration>

Затем мы поддерживаем следующие файлы:

local.appsettings.config.development
local.appsettings.config.qa
local.appsettings.config.production
local.connectionstrings.config.development
local.connectionstrings.config.qa
local.connectionstrings.config.production

Поскольку мы предварительно компилируем все перед развертыванием наших приложений asp.net у нас есть специальная задача msBuild, используемая нашим решением CI, которая копирует правильные файлы конфигурации (в зависимости от целевой среды) в соответствующий файл .config ...

Итак, если мы развертываем на dev, local.appsettings.config.development -> local.appsettings.config

Если мы развертываем на qa, local.appsettings.config.qa -> local.appsettings.config

Это позволяет нам сохранять основной файл web.config одинаковым во всех наших средах.

8
ответ дан 4 December 2019 в 01:31
поделиться

Как насчет наличия двух строк подключения и другой переменной, например « isTesting » в вашем web.config, а затем на основе значения isTesting pick какую строку подключения использовать?

2
ответ дан 4 December 2019 в 01:31
поделиться

вы также можете использовать разделы конфигурации и в зависимости от имени сервера переключаться между разделами. таким образом вы можете иметь одинаковые имена ключей.

текст ссылки

0
ответ дан 4 December 2019 в 01:31
поделиться

Вы можете установить web.config для каждой среды в менеджере конфигурации, используя события предварительной сборки. Я попробовал это с отличными результатами.

http://www.hanselman.com/blog/ManagingMultipleConfigurationFileEnvironmentsWithPreBuildEvents.aspx

Когда у вас есть debug и build, вы можете иметь local/preproduction/production... etc

0
ответ дан 4 December 2019 в 01:31
поделиться
Другие вопросы по тегам:

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