我的MVC.Net核心6中有一个有效的信号R.
我在我的MVC项目中有一个后台服务,它调用我的SignalR中心并更新我的所有页面.我已经将这个后台服务转移到它自己的项目中,现在它不工作了.这有可能吗?
MVC.Net COR 6项目:
public class ChatHub : Hub
{
public async Task SendMessage(string user, string message)
{
await Clients.All.SendAsync("ReceiveMessage", user, message);
}
}
另一个项目中的后台服务:
public class CalculatorConsumer : BackgroundService
{
private readonly ILogger<CalculatorConsumer> _logger;
private readonly ISubscriptionClient _subscriptionClient;
private readonly IHubContext<ChatHub> _hubContext;
public CalculatorConsumer(
ILogger<CalculatorConsumer> logger,
ISubscriptionClient subscriptionClient,
IHubContext<ChatHub> hubContext)
{
_logger = logger;
_subscriptionClient = subscriptionClient;
_hubContext = hubContext;
}
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
while (!stoppingToken.IsCancellationRequested)
{
_logger.LogInformation("Worker running at: {Time}", DateTime.Now);
await _hubContext.Clients.All.SendAsync("ReceiveMessage", $"10");
await Task.Delay(1000, stoppingToken);
}
}
}