2021-12-28 乐帮网
netcore signalr
有关ASP.NET Blazor升级.Net 5 到.Net 6时遇到以下错误:(携带SignalR框架)
System.InvalidOperationException
HResult=0x80131509
Message=Unable to resolve service for type 'Microsoft.AspNetCore.Components.Server.Circuits.CircuitRegistry' while attempting to activate 'Microsoft.AspNetCore.Components.Server.CircuitDisconnectMiddleware'.
Source=Microsoft.AspNetCore.Http.Abstractions
StackTrace:
在 Microsoft.Extensions.Internal.ActivatorUtilities.ConstructorMatcher.CreateInstance(IServiceProvider provider)
在 Microsoft.Extensions.Internal.ActivatorUtilities.CreateInstance(IServiceProvider provider, Type instanceType, Object[] parameters)
在 Microsoft.AspNetCore.Builder.UseMiddlewareExtensions.<>c__DisplayClass5_0.<UseMiddleware>b__0(RequestDelegate next)
在 Microsoft.AspNetCore.Builder.ApplicationBuilder.Build()
在 Microsoft.AspNetCore.Builder.ComponentEndpointRouteBuilderExtensions.MapBlazorHub(IEndpointRouteBuilder endpoints, String path, Action`1 configureOptions)
在 Microsoft.AspNetCore.Builder.ComponentEndpointRouteBuilderExtensions.MapBlazorHub(IEndpointRouteBuilder endpoints, String path)
在 Microsoft.AspNetCore.Builder.ComponentEndpointRouteBuilderExtensions.MapBlazorHub(IEndpointRouteBuilder endpoints)
在 Program.<Main>$(String[] args) 在 D:\Demo\BlazorApp1\BlazorApp1\Server\Program.cs 中: 第 31 行
这个很是闹心,在仔细查看地了官方文档后做出总结如下 :
https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/signalr-blazor?view=aspnetcore-6.0&tabs=visual-studio&pivots=server
之前的 services.AddSignalR();确实不再适用了。需要通过以下方式启用SignalR。
var app = builder.Build();
// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
app.UseWebAssemblyDebugging();
}
else
{
app.UseExceptionHandler("/Error");
}
app.UseBlazorFrameworkFiles();
app.UseStaticFiles();
app.UseRouting();
app.MapRazorPages();
app.MapControllers();
app.MapBlazorHub();
app.MapHub<SignalHub>("/signalhub");
看到了吗?只需要添加两行:
app.MapBlazorHub();
app.MapHub<SignalHub>("/signalhub");
其中MapHub还是和之前一样是一个监听终结点。不要再使用 services.AddSignalR(); 方法。
关注我的微信公众号
在公众号里留言交流
投稿邮箱:1052839972@qq.com
庭院深深深几许?杨柳堆烟,帘幕无重数。
玉勒雕鞍游冶处,楼高不见章台路。
雨横风狂三月暮。门掩黄昏,无计留春住。
泪眼问花花不语,乱红飞过秋千去。
如果感觉对您有帮助
欢迎向作者提供捐赠
这将是创作的最大动力