小编M.s*_*skr的帖子

如何将 SignalR 集线器类(不是集线器上下文)注入控制器

public class ComputerHub : Hub
{
    private readonly DbContext _db;
    public ComputerHub(DbContext db)
    {
       _db = db;
    }

    public Task OpenLock(string connectionId)
    {
       return Clients.Client(connectionId).SendAsync("OpenLock");
    }
...
}
Run Code Online (Sandbox Code Playgroud)

启动文件

  public void ConfigureServices(IServiceCollection services)
  {
       ...
       services.AddSignalR();
  }
  public void Configure(IApplicationBuilder app, IHostingEnvironment env)
  {
      ....
      app.UseSignalR(routes =>
            {
                routes.MapHub<ComputerHub>("/computerhub");
            });
      ....
  }
Run Code Online (Sandbox Code Playgroud)

我想在控制器中访问 OpenLock 方法。我应该如何将 startup.cs 中的计算机集线器添加到 ServiceCollection。

signalr asp.net-core-2.1

3
推荐指数
1
解决办法
2909
查看次数

标签 统计

asp.net-core-2.1 ×1

signalr ×1