I'm trying to figure out how to invoke a method on a strongly typed hub from the server. I'm using .Net-Core 2.0
I have a stongly typed hub interface:
public interface IMessageHub
{
Task Create(Message message);
}
and a hub which looks like so:
public class MessageHub: Hub<IMessageHub>
{
public async Task Create(Message message)
{
await Clients.All.Create(message);
}
}
Normally on the server I might push content to the client like so:
[Route("api/[controller]")]
public MessagesController : Controller
{
IHubContext<MessagesHub> context;
public MessagesController(IHubContext<MessagesHub> context)
{
this.context = context;
}
public Message CreateMessage(Message message)
{
this.context.Clients.All.InvokeAsync("Create", message);
return message;
}
}
How can I invoke a method on the statically typed hub or do I have a misconception on how hubs work?