Здравствуйте, Shmj, Вы писали:
S>И как он решит задачу, которая не разрешима даже в теории?
Очень просто — вероятностным образом.
S>>0. При старте системы, поднимаем из локальной базы список всех запросов, которые прошли через п.1 и не прошли через п.3. Повторяем для всех их них п.2 и 3.
S>1. Тебе нужно проверить что текущая открытая база (а это десктопное или моб. приложение) — та же самая, того же пользователя. Что если пользователь другой?
У каждого пользователя — своя база. Например. Или нет — зависит от архитектуры.
Например, если бы мы велосипедили клиента к RSDN, то вполне можно было бы использовать ровно одну базу. Потому что состояние локальной реплики никак не зависит от того, под каким пользователем выполняется репликация.
Ну, разве что админские форумы видны только админам; удалять ли их во время репликации под "обычным" аккаунтом — дело вкуса заказчика.
А если бы мы велосипедили, к примеру, почтовый клиент, то для каждого аккаунта создавали бы отдельную базу. Возможность совместного показа писем из нескольких баз была бы решением продакт менеджера (например, в мобильном Outlook она есть, в десктопном — нету).
S>2. Результат запроса нужно не только сохранить в базе, но и применить на форме.

Какой ещё форме? Пользователь вышел из приложения, всё, никаких форм нету.
S>Пользователь нажал на кнопку — делаем запрос к серверу, обновляем таблицу, отображаем на форме. Если пользователь изменился (но форма все так же доступна через IoC глобально) — то что?
То увольняем того, кто так спроектировал. Раз уж он не поддаётся обучению. Либо форма была открыта
в контексте пользователя, и при логауте она обязана закрыться. Либо форма открыта в "глобальном" контексте, и тогда её всё равно, кто там пользователь.