Я пытаюсь реализовать .NET Core 2.2 / SignalR 1.1.0.
При запуске:
public void ConfigureServices(IServiceCollection services)
services.AddSignalR();
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
app.UseSignalR(routes =>
{
routes.MapHub<ChatHub>("/chatHub");
});
Работает плавно, когда я применяю пример один к одному.
Но мне нужно архитектурное изменение.
Мой пример:
public class ChatHub : Hub
{
ResponseHandler ResponseHandler { get; set; }
public ChatHub()
{
IHubCallerClients hubCallerClients = this.Clients;
ResponseHandler = new ResponseHandler(hubCallerClients);
}
public async Task SendMessage(string user, string message)
{
IHubCallerClients hubCallerClients = this.Clients;
await ResponseHandler.R();
}
}
Если я попытался получить this.Clients в конструкторе itидет с нулевыми данными.Но если я попытаюсь использовать его в методе, он будет заполнен, как и ожидалось.
Мне нужно получить IHubCallerClients в конструкторе, чтобы я мог переслать его в другой контекст ответа.
Спасибо заранее!