5 回答
TA贡献1786条经验 获得超13个赞
我通过替换代码解决了这个问题
app.UseSignalR(routes => { routes.MapHub<NotifyHub>("notify"); });
到
app.UseEndpoints(endpoints => { endpoints.MapHub<NotifyHub>("/notify"); });
我使用的是点网5.0
TA贡献1802条经验 获得超4个赞
解决方案是使用.UseEndpoints()
. 正如 MSFT 所记录的,这是推荐的方法,将.UseSignalR()
,
推荐方法:
app.UseEndpoints(endpoints => { endpoints.MapHub<SomeHub>("/path"); });
从 .NET Core 版本 3.0 开始,它.UseSignalR()
已过时,建议开始.UseEndpoints()
使用 .NET Core 版本 3.1。
TA贡献1943条经验 获得超7个赞
Microsoft.AspNetCore.SignalR
自 2.1 起成为 ASP.NET Core 的一部分。
因此,如果您在 Visual Studio 中的“项目”->“属性”->“目标框架”下将目标版本设置为 NET Core 2.1 或更高版本,则应该能够调用您的services.AddSignalR()
方法ConfigureServices
。
TA贡献1858条经验 获得超8个赞
点网5.0
先添加包:
dotnet add package Microsoft.AspNet.SignalR.Core --version 2.4.1
中,public voidConfigureServices(IServiceCollection services)
services.AddSignalR();
在,公共无效配置(IApplicationBuilder应用程序,IWebHostEnvironment env)
app.UseEndpoints(endpoints => { endpoints.MapHub<NotifyHub>("/notify"); });
TA贡献1946条经验 获得超4个赞
我在项目依赖项中发现了对旧 Mvc nuget 的引用,这导致其余项目加载旧的 .net core 包,即使每个项目都有 .net6.0 配置(由错误的 .net 更新引起)。能够添加Microsoft.AspNet.SignalR.Core引用而不添加任何包(signalR 包含在 netcore 中)的解决方案是删除 Mvc nuget 引用并在 csproj 中包含下一个引用。
<ItemGroup> <FrameworkReference Include="Microsoft.AspNetCore.App" /> </ItemGroup>
- 5 回答
- 0 关注
- 169 浏览
添加回答
举报