Я работаю над проектом K2 Blackperl, и у нас есть один сервер K2 для разработки и тестирования. Я развернул 2 веб-сайта для разработки и тестирования и подключился к базе данных разработчика и тестовой базе данных, это не проблема. И затем мне нужно развернуть один процесс K2 на сервере K2 2 раза. один для разработчика, другой для тестирования. проблема приходит:
Приложение получает DBConnectionstring из Web.config, а процесс K2 называется applcation dll. процесс K2, запущенный на сервере K2, DLL будет автоматически проверять DBConnectionString из K2HostServer.config. но и для процесса разработки, и для процесса тестирования будет ссылка на один и тот же ключ в K2HostServer.config (например, DBConnectionString). Я не могу настроить строку подключения к БД, чтобы связать Dev и Test.
После исследования я получил 2 варианта решения проблемы, но оба выглядят не очень хорошо:
Вариант 1. Обновите код доступа к данным приложения, например, для среды разработки мы обновляем код для ссылки на * Dev * DBConnectionString. Для тестовой среды мы обновляем код для ссылки на * Test * DBConnectionString, мы помещаем оба ключа в K2HostServer.config. и затем процесс Dev и dll могут связываться с базой данных dev, процессом тестирования, а dll может связываться с тестовой базой данных.
Вариант 2: использовать параметр среды K2. мы можем определить среду в K2 и отправить DBConnectionString в dll по параметру. но необходимо обновить много кода существующего веб-приложения. добавьте параметр DBConnectionString к каждому меторду и не считывайте его из Web.config.
Ребята, у вас есть хорошая идея по этому поводу?