10

我使用 .NET Core 和 Electron.NET 开发了一个应用程序并创建了一个登录表单

对于登录,我创建了单独web API的项目并在登录按钮单击时调用登录 API。

当我从应用程序调用 API 时,它给出了关于“跨域”的错误,所以我需要在该 API 中注册一个 IP 地址和端口,但现在我面临一个问题,比如.net core应用程序在不同的不同端口上运行每一次。

窗口环境调用 API 登录时,它给了我以下端口:8001

从Ubuntu调用相同的 API 时,它给了我端口35941。所以现在我面临一个问题,例如,我们有不同的 Web API 项目,它允许我们在特定端口上调用 Web API,但由于 electron.net 每次生成不同的端口,我们无法调用 Web API在 CORS(跨域)中,它会引发错误。

在这种情况下,我该如何选择退出?

4

3 回答 3

1

从 Electron.NET 版本5.22.14开始 - 是否可以在electron.manifest.json文件中定义一个单独的端口。

清单文件示例: https ://github.com/ElectronNET/Electron.NET/blob/master/ElectronNET.WebApp/electron.manifest.json

在此处添加以下条目:
“aspCoreBackendPort”:8080

于 2019-11-04T16:01:30.787 回答
1

Electron.NET 中有一个静态类BridgeSettings,它为您提供端口设置,因此您可以使用它在 CORS 设置中设置端口。例如:

app.UseCors((builder) => builder.WithOrigins($"http://localhost:{BridgeSettings.WebPort}"));
于 2018-08-02T23:15:27.433 回答
1

ASPNETCORE_URLS=http://+:3333最快的解决方案是使用在 dotnet 启动之前定义的静态端口 ( ) 设置环境变量。用于跨平台设置 ENV 变量的出色节点包是cross-env- https://www.npmjs.com/package/cross-env

这可能是您希望更改的许多启动设置中的第一个。launchsettings.json您应该强烈考虑使用这些配置设置文件。https://docs.microsoft.com/en-us/aspnet/core/fundamentals/environments?view=aspnetcore-2.1#development

于 2018-08-06T16:36:31.437 回答