Как я могу обновить сервер DataSnap, пока клиенты еще подключены?

Мы используем серверы DataSnap с сохранением состояния для некоторых задач бизнес-логики, а также для предоставления данных набора данных клиента.

Если нам нужно обновить сервер для изменения бизнес-правила, мы копируем новую версию в новую пустую папку и регистрируем ее (в зависимости от версии Delphi, просто запустив или запустив утилиту TRegSvr).

Мы можем сделать это даже во время работы старого экземпляра сервера. Тем не мение,после регистрации новой версии все новые клиентские подключения будут по-прежнему использовать текущий (старый) экземпляр сервера, Все клиенты должны сначала отключиться, затем новый сервер будет использоваться для следующих клиентов.

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

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

Мы используем соединения Socket, и все клиенты используют одно и то же серверное приложение (открыто только одно окно приложения). В первые дни мы использовали другую конфигурацию удаленного модуля данных, что привело к одному окну приложения для каждого клиента. Может быть, это может быть решением? (потому что каждый новый клиент запускает зарегистрированный в настоящий момент исполняемый файл)

Обновление: предлагает ли Delphi XE поддержку «горячего развертывания» (обновленных серверов)? В настоящее время мы используем Delphi 2009, но обновимся до XE, если он предложит более простую реализацию «горячего развертывания».

Ответы на вопрос(6)

Ваш ответ на вопрос