The .NET core client for signalr have a HubConnection
class that can be used in the following way.
HubConnection connection = new HubConnectionBuilder()
.WithUrl("https://localhost:44321/hub")
.Build();
await connection.StartAsync();
connection.On<SomeEvent>("HubMethodName", (ev) => Console.WriteLine("EventHandler"))
I want to do some asynchronous work in the event handler, but it is not immediately obvious to me how, since most of the overloads expection an Action
. Using async void
works, but I'm not sure that's a good idea. Also, there is an overload with the signature On(string methodName, Type[] parameters, Func<object[], Task>) handler)
which is promising, but I guess I would have expected one with On<T>(string methodName, Func<T, Task> handler)
. I can make an extension method with that signature myself, but when it is not there to begin with, I'm thinking that I've might have missed something important?
async void
despite the world telling me not to. – Item