У меня есть приложение, которое проецирует данные для моего клиента на протяжении длительного времени. Чтобы позволить клиенту «играть» с другими сценариями без испорчения производственных данных, они могут выбирать альтернативные базы данных (в основном сценарии «Что-если») в любой момент, которые являются копией производственной базы данных по состоянию на определенное время. В настоящее время у меня есть бит кода, который в основном выполняет замену строки в строке подключения, которая будет «горячей» заменой имени сервера и имени базы данных на основе выбора пользователя, сохраненного в состоянии сеанса.Динамическая строка коннектора на основе переменной сеанса
Этот подход хорошо работает для того, что я делаю, хотя он требует, чтобы я проходил эти выборы во всех слоях. Вот мой вопрос: я хотел бы иметь возможность создать пользовательскую строку соединения, которая обрабатывала бы это «переключение» в фоновом режиме и позволяла мне использовать строку подключения так же, как в стандартном приложении Asp.Net.
Другими словами, многие инструменты asp.net принимают только имя строки соединения как часть своего конструктора. Я хотел бы иметь возможность использовать эти инструменты, но не могу сделать это b/c из того, как я в настоящее время строю свою строку соединения. Есть ли способ поддержать это поведение на уровне пользовательского сеанса?
Спасибо за информативный комментарий! Я знаю о Trink Trick, но мой случай немного отличается. Мне нужна другая строка соединения на основе пользователя и, возможно, их выбор, из какой базы данных они хотят, чтобы приложение предназначалось. Другими словами, это не просто переключатель развертывания или параметр, который я могу установить во время Application_Start. Создание настраиваемого раздела конфигурации было бы идеальным, если бы я мог переопределить текущий раздел конфигурации строки подключения с моим собственным. Я ищу информацию, чтобы сделать это, но пока ничего не тяну. – Nathan