Только в этом случае вам не нужно использовать await
- после SendAsync
больше ничего не происходит, поэтому ждать не нужно. Ожидание на GetLiveCandleStick
будет вести себя так же, как ожидание на SendAsync
. Вы можете преобразовать этот метод в:
public Task GetLiveCandleStick(string param)=> Clients.All.SendAsync("ReceiveMessage", param);
Учебники используют await
, потому что довольно часто - это код после SendAsync
, который должен выполняться после того, как SignalR поставит сообщение в очередь.
Вы можете захотеть добавить обработку ошибок в случае, если SignalR выдает, например, или обеспечить постановку сообщения Begin
в очередь после сообщения End
в закрытом l oop. Наличие await
даже для метода с одним оператором может быть полезно и для отладки.
Наконец, в хороших руководствах не следует вводить несвязанные концепции, поскольку это может легко привести к путанице. Учебник по SignalR - не лучшее место для объяснения конечного автомата await
или того, когда await
можно пропустить. К сожалению, слишком много примеров в docs.microsoft.com
пытаются поместить все на одну страницу, что приводит к некоторой путанице.