这个问题可能是由 .NET Core 3.1 的 Blazor WebAssembly (WASM) 应用程序引起的。它可能会导致大量额外的 socket 和连接异常。
要解决此问题,可以在应用程序的 Startup.cs 文件中添加以下代码:
public void ConfigureServices(IServiceCollection services)
{
// Add HttpClient from Microsoft.Extensions.Http
services.AddHttpClient("BlazorApp", client =>
{
client.BaseAddress = new Uri(client.BaseAddress, "api/");
// This header is added to send the access_token for authentication.
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", "{access_token}");
}).ConfigurePrimaryHttpMessageHandler(() =>
{
return new GrpcWebHandler(GrpcWebMode.GrpcWeb, new HttpClientHandler());
});
}
然后在 Index.html 中添加以下代码:
这将使用 Grpc.AspNetCore.Web 包来添加一个抽象的 GrpcWebHandler,该抽象可以将请求发送到服务端,以便在请求时自动发送 access_token。
完成后,重新启动应用程序,并检查是否还出现多个 socket 和连接异常。