Управление 40 SQL-соединениями в одном настольном приложении - PullRequest
3 голосов
/ 03 ноября 2010

У меня есть настольное приложение, которое мы используем внутри. Приложение состоит из 5 баз данных. У нас также есть 5 филиалов, каждый из которых имеет собственный SQL Server. У нас также есть мобильные пользователи, которые могут перейти на использование локального SQL Server Express. У нас также есть тестовый сервер.

Все говорят, что это 25 Строки подключения SQL, указывающие на центральные (для каждого филиала) SQL-серверы, 5 Строки подключения SQL Express для мобильных устройств, затем 5 больше Строки подключения SQL Express для Mobile TEST и, наконец, 5 Строка подключения SQL ( 1 на БД ) для центрального сервера TEST. Для БОЛЬШОГО ИТОГО 40 Строки подключения для 1 Application.

Что сделали другие, чтобы спорить в этом беспорядке? Что бы вы предложили?

В настоящее время я сохраняю все соединения в виде Строк подключения в файле Settings.settings моего DAL.

Ответы [ 2 ]

1 голос
/ 03 ноября 2010

Как вы в настоящее время обрабатываете логин? Я сделал один пример этого, где веб-сервис входа возвращал наиболее подходящие строки подключения. Очевидно, что для мобильных пользователей могут потребоваться некоторые настройки, но 1 (или, может быть, 1 / филиал) URL-адрес службы может быть проще в управлении, чем сценарий с резаками, плюс вам нужно только обновить центр, и все клиенты увидят изменение.

Конечно, центральный веб-сервис для данных тоже возможен.

1 голос
/ 03 ноября 2010

У меня была программа, которая могла переключаться между n числом баз данных, и способ, которым я это сделал, заключался в том, чтобы иметь какое-то имя для каждого соединения, которое было ключом в Dictionary, чтобы затем можно было найти правильную строку соединения.

Я использовал DI (внедрение зависимости), чтобы извлечь строки подключения из application.xml.

Таким образом, я мог бы легко изменить строки подключения, добавить / удалить их, и когда я перезапущу программу, она обновляется, но, следуя этому подходу, если приложение работает, и вы изменили строку подключения, изменение выиграло не загружается.

...