Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Асинхронные методы в WebAPI. Нужно ли метод объявлять как асинхронный?
|
|||
|---|---|---|---|
|
#18+
Есть асинхронный контролер WebAPI, в котором вызывается метод: Код: c# 1. 2. 3. 4. Ну и сам метод: Код: c# 1. 2. 3. 4. Вот и сам вопрос: Нужно ли объявлять метод как асинхронный? Например так: Код: c# 1. 2. 3. 4. ??? Заранее спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2016, 17:00 |
|
||
|
Асинхронные методы в WebAPI. Нужно ли метод объявлять как асинхронный?
|
|||
|---|---|---|---|
|
#18+
potkin, нужно, но асинхронные методы не могут возвращать тип void. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2016, 17:01 |
|
||
|
Асинхронные методы в WebAPI. Нужно ли метод объявлять как асинхронный?
|
|||
|---|---|---|---|
|
#18+
Axeleronнужно То есть асинхронный вызов самого метода: Код: c# 1. Недостаточен? Нужно ещё и метод объявить как асинхронный? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2016, 17:05 |
|
||
|
Асинхронные методы в WebAPI. Нужно ли метод объявлять как асинхронный?
|
|||
|---|---|---|---|
|
#18+
potkinAxeleronнужно То есть асинхронный вызов самого метода: Код: c# 1. Недостаточен? Нужно ещё и метод объявить как асинхронный? Если метод не имеет дело лишь с процессорным вычислением, то async не нужен, но такие методы нельзя использовать в библиотеках. А если помимо процессорных вычислений присутствует еще и input/output инструкции (как я думаю, это данный случай), то async нужен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2016, 17:14 |
|
||
|
Асинхронные методы в WebAPI. Нужно ли метод объявлять как асинхронный?
|
|||
|---|---|---|---|
|
#18+
1. В методе есть обращение к БД, как на чтение так и на запись. То есть, ещё каждое обращение к БД нужно делать так: Код: c# 1. 2. ??? 2. И запуск из метода других методов. Их тоже надо делать асинхронными и все операции вызываемых методов - асинхронными? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2016, 17:23 |
|
||
|
Асинхронные методы в WebAPI. Нужно ли метод объявлять как асинхронный?
|
|||
|---|---|---|---|
|
#18+
Axeleronpotkinпропущено... То есть асинхронный вызов самого метода: Код: c# 1. Недостаточен? Нужно ещё и метод объявить как асинхронный? Если метод не имеет дело лишь с процессорным вычислением, то async не нужен, но такие методы нельзя использовать в библиотеках. А если помимо процессорных вычислений присутствует еще и input/output инструкции (как я думаю, это данный случай), то async нужен .... если есть необходимость оптимизации по уменьшению количества ожидающих потоков. Axeleronpotkin, нужно, но асинхронные методы не могут возвращать тип void. Тип возвращаемого значения void ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2016, 10:29 |
|
||
|
Асинхронные методы в WebAPI. Нужно ли метод объявлять как асинхронный?
|
|||
|---|---|---|---|
|
#18+
potkinТо есть, ещё каждое обращение к БД нужно делать так:Нужно понять что такое и зачем нужны порты завершения (Completion Ports) , поверх которых работает db.SaveChangesAsync() . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2016, 10:53 |
|
||
|
Асинхронные методы в WebAPI. Нужно ли метод объявлять как асинхронный?
|
|||
|---|---|---|---|
|
#18+
Алексей КAxeleronпропущено... Если метод не имеет дело лишь с процессорным вычислением, то async не нужен, но такие методы нельзя использовать в библиотеках. А если помимо процессорных вычислений присутствует еще и input/output инструкции (как я думаю, это данный случай), то async нужен .... если есть необходимость оптимизации по уменьшению количества ожидающих потоков. Axeleronpotkin, нужно, но асинхронные методы не могут возвращать тип void. Тип возвращаемого значения void Ну так и читаем: MSDNОбъект, вызывающий асинхронный метод, возвращающий void, не может перехватывать исключения, созданные этим методом, и такие необработанные исключения могут привести к сбою приложения. Если исключение возникает в асинхронном методе, возвращающем Task или Task<TResult>, оно сохраняется в возвращенной задаче и создается повторно, когда задача ожидается.Поэтому убедитесь в том, что любой асинхронный метод, который может создавать исключение, имеет возвращаемый тип Task или Task<TResult>, и что вызовы этого метода ожидаются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2016, 13:09 |
|
||
|
Асинхронные методы в WebAPI. Нужно ли метод объявлять как асинхронный?
|
|||
|---|---|---|---|
|
#18+
Алексей КAxeleronпропущено... Если метод не имеет дело лишь с процессорным вычислением, то async не нужен, но такие методы нельзя использовать в библиотеках. А если помимо процессорных вычислений присутствует еще и input/output инструкции (как я думаю, это данный случай), то async нужен .... если есть необходимость оптимизации по уменьшению количества ожидающих потоков. Это здесь не при чем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2016, 13:10 |
|
||
|
Асинхронные методы в WebAPI. Нужно ли метод объявлять как асинхронный?
|
|||
|---|---|---|---|
|
#18+
potkinИх тоже надо делать асинхронными и все операции вызываемых методов - асинхронными? Необязательно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2016, 13:11 |
|
||
|
Асинхронные методы в WebAPI. Нужно ли метод объявлять как асинхронный?
|
|||
|---|---|---|---|
|
#18+
AxeleronАлексей Кпропущено... ... если есть необходимость оптимизации по уменьшению количества ожидающих потоков. пропущено... Тип возвращаемого значения void Ну так и читаем: MSDNОбъект, вызывающий асинхронный метод, возвращающий void, не может перехватывать исключения, созданные этим методом, и такие необработанные исключения могут привести к сбою приложения. Если исключение возникает в асинхронном методе, возвращающем Task или Task<TResult>, оно сохраняется в возвращенной задаче и создается повторно, когда задача ожидается.Поэтому убедитесь в том, что любой асинхронный метод, который может создавать исключение, имеет возвращаемый тип Task или Task<TResult>, и что вызовы этого метода ожидаются. Ну и что? Асинхронные методы могут быть void - это главное. AxeleronАлексей Кпропущено... ... если есть необходимость оптимизации по уменьшению количества ожидающих потоков. Это здесь не при чем.Это здесь очень даже причём. Иначе, если нет необходимости такой оптимизации и нет необходимости в параллельном выполнении внутри одного http-запроса, то все эти асинхронности на сервере нах никому не нужны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2016, 05:46 |
|
||
|
Асинхронные методы в WebAPI. Нужно ли метод объявлять как асинхронный?
|
|||
|---|---|---|---|
|
#18+
Цель: Оптимизации по уменьшению количества ожидающих потоков Так, я не понял, нужно ли делать все обращения к БД, в методе (который вызван асинхронно) делать асинхронными? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2016, 23:36 |
|
||
|
Асинхронные методы в WebAPI. Нужно ли метод объявлять как асинхронный?
|
|||
|---|---|---|---|
|
#18+
potkinЦель: Оптимизации по уменьшению количества ожидающих потоков Так, я не понял, нужно ли делать все обращения к БД, в методе (который вызван асинхронно) делать асинхронными?Нужно или не нужно - решать тебе. Всё, что нужно для принятия решения, уже озвучено в данной теме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2016, 05:31 |
|
||
|
Асинхронные методы в WebAPI. Нужно ли метод объявлять как асинхронный?
|
|||
|---|---|---|---|
|
#18+
Алексей К Тогда получается нужно и метод объявлять как асинхронный и все операции с БД через "await" и все методы в методе тоже делать асинхронными ... П.С. Мог бы Майкрософт упростить работу: вызвал метод асинхронно - значит все "действия" в методе происходят асинхронно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2016, 12:53 |
|
||
|
Асинхронные методы в WebAPI. Нужно ли метод объявлять как асинхронный?
|
|||
|---|---|---|---|
|
#18+
potkin, советую почитать тут для принятия решения когда делать асинхронный запрос в БД, а когда нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2016, 13:17 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=39156771&tid=1356048]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
38ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 286ms |
| total: | 403ms |

| 0 / 0 |
