Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / WinForms, .Net Framework Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 [3]      все
 Re: Проблема с потоками  [new]
hVostt
Member

Откуда:
Сообщений: 14575
Petro123
нет. Не фигню. А точно по ТЗ автора топика))


await-ить надо всё
13 май 18, 00:02    [21405893]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с потоками  [new]
OlegEgorov11
Member

Откуда:
Сообщений: 92
hVostt,
await cmd.ExecuteNonQueryAsync(); если я таким образом запущу sql запрос, будет ли он выполняться асинхронно?
13 май 18, 00:04    [21405895]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с потоками  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 34443
OlegEgorov11
cmd

у cmd спроси.
Судя по XXXXAsync() - будет.
Если не наврал.
13 май 18, 00:19    [21405920]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с потоками  [new]
hVostt
Member

Откуда:
Сообщений: 14575
OlegEgorov11
hVostt,
await cmd.ExecuteNonQueryAsync(); если я таким образом запущу sql запрос, будет ли он выполняться асинхронно?


Да.
13 май 18, 00:42    [21405940]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с потоками  [new]
OlegEgorov11
Member

Откуда:
Сообщений: 92
Petro123
OlegEgorov11
cmd

у cmd спроси.
Судя по XXXXAsync() - будет.
Если не наврал.

не совсем понял
13 май 18, 00:46    [21405945]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с потоками  [new]
OlegEgorov11
Member

Откуда:
Сообщений: 92
hVostt, тогда вопрос, если я запущу асинхронно sql запросы, форма виснуть не будет, но тогда они запустятся все разом, и cmd, таким образом все сломается, потому что следующим запросам нечего будет выгружать, потому что предыдущие не сделают ничего
13 май 18, 00:48    [21405946]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с потоками  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 34443
OlegEgorov11
но тогда они запустятся все разом

await Query1
await Query2
await Query3

все три будут друг за другом но форма виснуть не будет.
Это скрыто, но код возвращается назад каждый раз.
...
Хорош теории - пробуй код!
Удачи!
13 май 18, 01:06    [21405959]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с потоками  [new]
hVostt
Member

Откуда:
Сообщений: 14575
OlegEgorov11
hVostt, тогда вопрос, если я запущу асинхронно sql запросы, форма виснуть не будет, но тогда они запустятся все разом, и cmd, таким образом все сломается, потому что следующим запросам нечего будет выгружать, потому что предыдущие не сделают ничего


асинхронно это не параллельно. все будет выполнено по очереди.
13 май 18, 01:19    [21405967]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с потоками  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 18992
hVostt
сегодня многие современные программы пишут в стиле async-first.
это ты сам придумал термин или это уже устоявшаяся терминология?
А вы пишете суффикс Async к названию каждого метода? А то получается webapi-аппликация чуть менее чем полностью состоит из асинхронных методов, включая методы контроллеров, есть ли смысл использовать суффикс?
13 май 18, 13:01    [21406211]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с потоками  [new]
Roman Mejtes
Member

Откуда: г. Пермь
Сообщений: 2862
OlegEgorov11,

тот код, который идет после выполнения асинхронного метода с Await будет выполнен по его завершению. Возврата не будет, будет переход. Ваш метод будет разбит на части, которые будут выполняться последовательно, после каждой операции с await, будет выполняться следующий блок, который написан в методе.
Это всё равно, что написать
var task = Task.Run(MyAsyncCode);
task.ContinueWith(MyNextCode);
грубо говоря
13 май 18, 14:01    [21406264]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 [3]      все
Все форумы / WinForms, .Net Framework Ответить