出现此问题是因为ElectronNET应用程序在运行时无法连接到本地主机。这可能是由于IIS或Kestrel未正确配置而造成的。
要解决此问题,请打开Program.cs文件并确保正确设置使用IIS或Kestrel。下面是一个示例:
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseElectron(args)
.UseUrls("http://localhost:5000") // 设置端口
.UseIISIntegration()
.UseStartup();
如果使用IIS,则应在IIS管理器中确保应用程序池已正确配置在正确的端口上运行。
如果使用Kestrel,则可以在启动时指定要使用的端口,如下所示:
public class Program
{
public static async Task Main(string[] args)
{
var builder = WebAssemblyHostBuilder.CreateDefault(args);
builder.RootComponents.Add("app");
builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) });
builder.Services.AddBlazoredLocalStorage();
builder.Services.AddElectronNET(options =>
{
options.WebPreferences.Javascript = true;
options.WebPreferences.WebSecurity = false;
});
builder.Services.AddHostedService();
builder.Services.AddSingleton(sp =>
{
var window = Electron.WindowManager.CreateWindowAsync().Result;
window.OnReadyToShow += () => window.Show();
return window;
});
await builder.Build().RunAsync();
}
}
以上两种方法应该能够解决Blazor ElectronNET应用程序无法加载本地主机ERR_CONNETION_REFUSED问题。