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 關注
- 282 瀏覽
添加回答
舉報