.net core Application is run with different port with electron.net with cross platrom

1.9k Views Asked by At

I've developed an application using .NET Core and Electron.NET and created a login form.

For login, I have created separate web API project and call the login API on login button click.

When I call API from an application, it gives an error about "Cross-Origin", so I need to register an IP Address and Port in that API but right now I am facing an issue like .net core application is run on the different-different port each time.

While call sign-in in API from the window environment it gives me below port:8001

While calling the same API from the Ubuntu it gives me port 35941. So now I am facing an issue like, we have the different project for web API and it allows us to call web API on the specific port but due to each time different port generated by the electron.net, we can not call the web API in CORS (cross-origin) and it throws an error.

How can I opt-out with this situation?

3

There are 3 best solutions below

5
On

There is a static class BridgeSettings in Electron.NET that gives you the port settings so you can use it to set the port in the CORS settings. For example:

app.UseCors((builder) => builder.WithOrigins($"http://localhost:{BridgeSettings.WebPort}"));
0
On

Quickest solution is to set the environmental variable with a static port (ASPNETCORE_URLS=http://+:3333) defined before dotnet start up. A great node package for setting ENV variables cross platform is cross-env - https://www.npmjs.com/package/cross-env

This may be the first of many launch settings you wish to change. You should strongly consider setting up a launchsettings.json file with these configurations. https://learn.microsoft.com/en-us/aspnet/core/fundamentals/environments?view=aspnetcore-2.1#development

0
On

Since version 5.22.14 of Electron.NET - Is it possible to define a separate port in the electron.manifest.json file.

An example of the manifest file: https://github.com/ElectronNET/Electron.NET/blob/master/ElectronNET.WebApp/electron.manifest.json

Add the following entry here:
"aspCoreBackendPort": 8080