|
Выполнить запрос к БД без ожидания ответа сервера асинхронно
|
|||
---|---|---|---|
#18+
Иногда в программе необходимо вызвать на выполнение в БД сохраненную процедуру, но нет необходимости что либо ждать - т.е ее нужно запустить на исполнение и выполнять программу дальше без ожидания какого-либо результата Сейчас пользуюсь ExecNonQuery, но так как данный вызов ждет окончания выполнения процедуры, а процедура довольно большая по объему работы и занимает много времени - программа зависает на время исполнения этой процедуры (а она лопатит на сервере таблицу и обрабатывает данные которые не нужны сейчас клиенту) Как это можно сделать? спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2012, 20:21 |
|
Выполнить запрос к БД без ожидания ответа сервера асинхронно
|
|||
---|---|---|---|
#18+
Что мешает в отдельном потоке запускать долгоиграющие телодвижения? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2012, 20:36 |
|
Выполнить запрос к БД без ожидания ответа сервера асинхронно
|
|||
---|---|---|---|
#18+
sp, Посмотрите профайлер. Если где-то встретится таблескан, то перепишите процедуру. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2012, 21:42 |
|
Выполнить запрос к БД без ожидания ответа сервера асинхронно
|
|||
---|---|---|---|
#18+
Пардон, имел ввиду план запроса. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2012, 21:45 |
|
Выполнить запрос к БД без ожидания ответа сервера асинхронно
|
|||
---|---|---|---|
#18+
ShSerge, Вопрос не в оптимальности запросов - там длительная обработка и задумана по-плану - мне просто нужно на клиенте сделать запуск процедуры и оставить ее спокойно работать, а клиент чтоб дальше себе продолжал работать не дожидаясь окончания выполнения сохраненной процедуры ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2012, 23:51 |
|
Выполнить запрос к БД без ожидания ответа сервера асинхронно
|
|||
---|---|---|---|
#18+
spShSerge, Вопрос не в оптимальности запросов - там длительная обработка и задумана по-плану - мне просто нужно на клиенте сделать запуск процедуры и оставить ее спокойно работать, а клиент чтоб дальше себе продолжал работать не дожидаясь окончания выполнения сохраненной процедуры Тогда это делается не приложением, а джобом. ПС. А если приложением, то что будет, если пользователь пару раз кнопарь жамкнет, или второй экземпляр приложения запустит и опять кнопарь жамкнет? Вы это предусмотрели? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2012, 00:11 |
|
Выполнить запрос к БД без ожидания ответа сервера асинхронно
|
|||
---|---|---|---|
#18+
ShSergeТогда это делается не приложением, а джобом. ПС. А если приложением, то что будет, если пользователь пару раз кнопарь жамкнет, или второй экземпляр приложения запустит и опять кнопарь жамкнет? Вы это предусмотрели? ну у меня юзер не жмякает - а вызывается все это при определенных событиях в приложении, а потом в процедуре выставляются флаги чтоб трижды не вызывать процедуру пока она в работе! Решил я вопрос: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9.
Вызываем SP асинхронно и не указываем callback (или можно указать пустотелый callback) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2012, 00:40 |
|
|
start [/forum/topic.php?fid=17&msg=37712419&tid=1350416]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
56ms |
get topic data: |
53ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 204ms |
0 / 0 |