首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >升级到.NET 6后无法连接网络套接字

升级到.NET 6后无法连接网络套接字
EN

Stack Overflow用户
提问于 2022-03-30 12:02:51
回答 2查看 845关注 0票数 0

我已经将Blazor WASM项目.net 5项目升级为.net 6

Blazor.Server项目被设置为启动WebApi项目,其中包含所有的Blazor.Client代码。

但是,在升级之后,当我试图运行该项目时,在cmd输出中会出现以下错误;

请求完成HTTP/1.1获取https://localhost/_framework/debug/ws-proxy?browser=ws%3A%2F%2F127.0.0.1%3A56020%2Fdevtools%2Fbrowser%2F6d6a929b-4e01-4e15-8e7c-e4e19e0bb5c4 ---40400-0.9436

关于我的Blazor.Server项目;

代码语言:javascript
复制
Microsoft.AspNetCore.Components.WebAssembly.Server 6.0.3

然后(再次在服务器端项目中)在我添加的Program.cs中;

代码语言:javascript
复制
var app = builder.Build();

if (app.Environment.IsDevelopment())
{
    app.UseSwagger();
    app.UseSwaggerUI();
}

app.UseHttpErrorHandlerMiddleware();

app.UseHttpsRedirection();
app.UseBlazorFrameworkFiles();
app.UseStaticFiles();
app.UseRouting();

//app.UseSerilogRequestLogging();

app.UseCors(AllowSpecificOrigins);

app.UseHttpsRedirection();

app.UseAuthentication();
app.UseAuthorization();

app.UseEndpoints(endpoints =>
{
    endpoints.MapControllers();
    endpoints.MapFallbackToFile("index.html");
});

app.UseRequestLocalization("en-GB");

app.Run();

在我的Blazor.Client WASM应用程序中;

代码语言:javascript
复制
Microsoft.AspNetCore.Components.WebAssembly 6.0.3
Microsoft.AspNetCore.Components.WebAssembly.DevServer 6.0.3

那么,在Program.cs这里,我有;

代码语言:javascript
复制
var builder = WebAssemblyHostBuilder.CreateDefault(args);
builder.RootComponents.Add<App>("#app");
builder.RootComponents.Add<HeadOutlet>("head::after");

var services = builder.Services;

services.AddBlazoredLocalStorage();
services.AddAuthorizationCore();
services.AddScoped<AuthenticationStateProvider, JwtAuthenticationStateProvider>();
services.AddScoped<IAuthService, AuthService>();

services.AddTransient<TimerService>();
services.AddTransient<MapperService>();
services.AddTransient<GenericMapperService>();

services.AddLogging(b => b
   .AddBrowserConsole()
   .SetMinimumLevel(LogLevel.Error)
);

services.AddBlazorise(options =>
{
    // options.ChangeTextOnKeyPress = true; // optional
})
.AddBootstrapProviders()
.AddFontAwesomeIcons();

builder.Services.AddHttpClientInterceptor();
builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) });

CultureInfo.DefaultThreadCurrentCulture = new CultureInfo("en-GB");

await builder.Build().RunAsync();

这里有人能帮忙吗?我假设VS和已安装的组件包知道如何在blazor运行时进行复制?或者不是这样的?

EN

回答 2

Stack Overflow用户

发布于 2022-03-30 12:53:45

我已经看到了用Blazor升级项目的问题,我不是唯一的一个,到目前为止,最好的工作是在.net6中重新创建这个项目。不知道这是不是你的案子。

参见此2022 wasm blazor.webassembly.js not found .net5 to .net6 upgrade

希望有一个更好的解决办法,并最终会找到。如果你足够耐心,这条线可能会找到答案。

票数 0
EN

Stack Overflow用户

发布于 2022-03-30 15:38:57

如果它对任何人有帮助的话,我最终实现的工作就是单独运行2x项目;

  1. 设置多个启动项目,将Blazor.ClientBlazor.Api设置为启动。

Blazor.Server项目中

删除包Microsoft.AspNetCore.Components.WebAssembly.Server 6.0.3

  1. Program.cs删除;

app.UseBlazorFrameworkFiles();endpoints.MapFallbackToFile("index.html");

  1. 更改launchSettings.json以删除inspectUri设置.

Blazor.Client项目中;

5.修改HttpClient基Uri以指向API项目。例如;

builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri("https://localhost:5001/") });

并确保两个项目都在单独的端口上运行。之后都跑得很顺利。

这不是一个理想的解决方案,因为它意味着两个不同的服务运行,但一个快速的解决办法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71676865

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档