Действительно ли возможно связаться, Web.config преобразовывают с публикацией профиля?

В настоящее время я могу легко установить Web.config, преобразовывают на основе конфигурации сборки, например, использования connectionString=server;.. для Debug и connectionString=./SQLExpress;.. для Release.

Но действительно ли возможно сделать, некоторое преобразование Web.config, базирующееся в сети, публикует профиль? Т.е. используйте connectionString=server1;.. для профиля Server1 и connectionString=server2;.. для Server2 ?

8
задан Jan Bluemink 15 December 2015 в 10:20
поделиться

3 ответа

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

Однако, если вы используете MSDeploy, есть способы изменить там web.config. См. MSDeploy - Изменение параметра строки подключения после развертывания пакета для получения дополнительных сведений.

0
ответ дан 5 December 2019 в 23:13
поделиться

Это может быть немного другой способ.

На производственных серверах создайте фиктивную запись для customdb в файле c: \ windows \ system32 \ drivers \ etc \ hosts на каждой производственной машине. Каждый указывает на базу данных, которую вы хотите использовать на этом компьютере. Тогда вам нужно только указать на connectionString = customdb; для всех ваших производственных серверов.

Единственным недостатком этого будет то, что вам потребуется доступ к файлу hosts, и вам потребуется использовать базу данных.

Надеюсь, это поможет

0
ответ дан 5 December 2019 в 23:13
поделиться

Мы храним всю конфигурацию машины / профиля в отдельных файлах конфигурации, а затем используем configSource, чтобы включить их так ...

    <connectionStrings configSource="cstrings.config"/>

Таким образом, Web.config является таким же и не требует никаких преобразований. Мы делаем это для строк подключения, настроек smtp и настроек приложения.

Мы контролируем версии Web.config и "машинно-зависимых" файлов, таких как cstrings.config.production, cstrings.config.staging и т. Д.

Имея такую ​​структуру, легко создавать изображения для различных профилей. У нас есть сценарии развертывания на каждой машине, которые считывают переменную среды и развертывают ее соответствующим образом. Например, сценарий сборки промежуточного сервера копирует cstrings.config.staging в cstrings.config и т. Д.

5
ответ дан 5 December 2019 в 23:13
поделиться
Другие вопросы по тегам:

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