gpt4 book ai didi

asp.net-core - aspnet core 2.1中AddSignalR和AddSignalRCore扩展方法的区别

转载 作者:行者123 更新时间:2023-12-02 06:48:11 29 4
gpt4 key购买 nike

我正在尝试在我的aspnet core 2.1项目中配置SignalR。在Startup.cs类中,在ConfigureServices()方法中有2个选项可供使用。

services.AddSignalR()
services.AddSignalRCore()

这两种方法有什么区别?

我可以轻松地通过 services.AddSignalR() 使用 signalR,但是当我将其更改为 services.AddSignalRCore() 时,它会抛出错误。

最佳答案

AddSignalR()AddSignalRCore() 多调用两个附加服务,如下所示:

这是AddSignalR()方法的代码:

public static ISignalRBuilder AddSignalR(this IServiceCollection services, Action<HubOptions> configure)
{
services.Configure(configure);
services.AddSockets();
return services.AddSignalRCore();
}

这是AddSignalRCore()方法的代码:

public static ISignalRBuilder AddSignalRCore(this IServiceCollection services)
{
services.AddSingleton(typeof(HubLifetimeManager<>), typeof(DefaultHubLifetimeManager<>));
services.AddSingleton(typeof(IHubProtocolResolver), typeof(DefaultHubProtocolResolver));
services.AddSingleton(typeof(IHubContext<>), typeof(HubContext<>));
services.AddSingleton(typeof(HubEndPoint<>), typeof(HubEndPoint<>));
services.AddScoped(typeof(IHubActivator<>), typeof(DefaultHubActivator<>));

services.AddAuthorization();

return new SignalRBuilder(services);
}

关于asp.net-core - aspnet core 2.1中AddSignalR和AddSignalRCore扩展方法的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53985371/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com