Приложение Blazor ElectronNET не может загрузить локальный хост ERR_CONNETION_REFUSED
У меня есть приложение, созданное для Windows и OSX с использованием ElectronNET и Blazor. Все работает нормально на моих машинах с Windows, но когда я пытаюсь запустить программное обеспечение на osx, у меня появляется пустой белый экран, а терминал отладки говорит
"(узел:14402) электрон: не удалось загрузить URL-адрес: http://localhost:8002/ с ошибкой: ERR_CONNECTION_REFUSED"
Если я перехожу в строку меню и нажимаю «Обновить», страница загружается, и я получаю другое сообщение.
«предупреждение: Microsoft.AspNetCore.HttpsPolicy.HttpsRedirectionMiddleware[3] не удалось определить порт https для перенаправления».
Я пытался очистить свой проект, удалить папки bin и obj, удалить папку .vs, отключить брандмауэр, настроить хром, проверить прокси и т. д. Пока ничего не сработало, и я не уверен, что делать дальше.
using Microsoft.AspNetCore.Components;
using Microsoft.AspNetCore.Components.Web;
using ElectronNET.API;
using ElectronNET.API.Entities;
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddRazorPages();
builder.Services.AddServerSideBlazor();
builder.Services.AddServerSideBlazor().AddCircuitOptions(options => { options.DetailedErrors = true; });
builder.Services.AddDevExpressBlazor();
builder.Services.AddElectron();
builder.Services.Configure<DevExpress.Blazor.Configuration.GlobalOptions>(options => {
options.BootstrapVersion = DevExpress.Blazor.BootstrapVersion.v5;
});
builder.WebHost.UseWebRoot("wwwroot");
builder.WebHost.UseStaticWebAssets();
builder.WebHost.UseElectron(args);
var app = builder.Build();
// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
var browserWindowOptions = new BrowserWindowOptions
{
AutoHideMenuBar = true
};
var browserWindow = await Electron.WindowManager.CreateWindowAsync(browserWindowOptions);
app.MapBlazorHub();
app.MapFallbackToPage("/_Host");
app.Run();
1 ответ
изменение этой строки
var browserWindow = await Electron.WindowManager.CreateWindowAsync(browserWindowOptions);
к этому
async void CreateWindow()
{
var window = await Electron.WindowManager.CreateWindowAsync(browserWindowOptions);
window.OnClosed += () => {
Electron.App.Quit();
};
}
исправлена проблема