|
Синхронизация данных между сервером и клиентами
|
|||
---|---|---|---|
#18+
Добрый день! Побродив пару дней по интернету у меня сложилось впечатление, что многопользовательские программы - это очень большая редкость. :) В общем проблема в том, что я пишу на wpf C# linqtosql sql2008 vs2012 приложение, которое обращается к базе. Пользователей много и изменений тоже. Необходимо периодически синхронизировать данные на клиенте (на мой взгляд классическая задача). Попробовав тупо обновлять все данные, получил ужасный результат - данных много обновление доходит до 30 секунд. В интернете примеры конкретных реализаций ни одной не нашел. В книгах и msdn тоже ничего, в основном основы и общие принципы контроля изменений. Помогите найти ссылки на конкретные примеры с linqtosql. сейчас примерно так: Код: c# 1. 2.
и так для каждой таблицы. Подозреваю должен быть какой-то не сложный способ, возможно в самом linq. Или может кто знает как прикрутить SqlDependency, хотя ,как я понял, это очень капризная штука. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2013, 13:25 |
|
Синхронизация данных между сервером и клиентами
|
|||
---|---|---|---|
#18+
Неоднократно убеждался на практике, что бы получить хороший результат, нужно выбросить всякие Entity Framework и L2SQL и писать все ручками используя ХП и датаридеры, если система еще и многопользовательская и данных много - то что доктор прописал. Что бы постоянно не тягать все данные рассмотрите вариант добавления в таблицы столбца - LastUpdate с типом DateTime, куда через тригер пишите врямя последнего изменения записи. Затем запросом выбирайте(обновляйте) толко записи измененные после последнего запроса клиента: select бла-бла from бла-бла where LastUpdate > @LastUserRequest ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2013, 15:49 |
|
|
start [/forum/topic.php?fid=17&msg=38347299&tid=1349964]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
126ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 295ms |
total: | 511ms |
0 / 0 |