如何注册强类型的SignalR Core集线器?

问题描述 投票:0回答:1

我有一个ASP.Net Core 3.1 Web应用程序,我正尝试将强类型的集线器注入到控制器中,如下所示:

public class MyController : ControllerBase
{
    private readonly IHubContext<MyHub, IMyHub> hubContext;

    public MyController(IHubContext<MyHub, IMyHub> hubContext)
    {
        this.hubContext = hubContext;
    }    
}

Autofac已经设置好了,但是我仍然没有找到注入轮毂的方法。 (版本或SignalR类具有RegisterHubs扩展方法。

我尝试了以下操作:

        builder.RegisterAssemblyTypes()
            .Where(t => typeof(IHubContext<>).IsAssignableFrom(t))
            .ExternallyOwned();

和此:

       builder.RegisterAssemblyTypes()
            .Where(t => t.Name.EndsWith("Hub"))
            .As(typeof(Hub<>))
            .ExternallyOwned();

但是没用。

新方法是什么?

c# asp.net-core autofac asp.net-core-signalr
1个回答
0
投票
© www.soinside.com 2019 - 2024. All rights reserved.