Cannot get a ipc connection to run with aspnetcore 2.1 & angular 6
See original GitHub issueHello Gregor, Hello Robert, Hello all,
Thank you for this library!
I have a AspNetCore 2.1 Angular 6 App with ElectronApi 0.11. “electronize start” works fine and the app starts fine but I cannot get a ipc connection to run.
I have an Angular service with the following parts of code to establish a ipc connection. Its executing immediately after angular app start,
import { IpcRenderer } from 'electron'
;
...
if (process.versions.electron && (<any>window).require)
this.ipc = (<any>window).require("electron").ipcRenderer;
...
this.ipc.send("connect", "x");
This is my code on C# side
var browserWindow = await Electron.WindowManager.CreateWindowAsync(new BrowserWindowOptions { Show = false });
browserWindow.OnReadyToShow += () =>
{
Electron.IpcMain.On("connect", args => Connect());
browserWindow.Show();
};
if I make a sendSync on angular side, the app freezes. Do you have some idea what i did wrong.
Issue Analytics
- State:
- Created 5 years ago
- Comments:9 (2 by maintainers)
Top GitHub Comments
Hey @ffetech, @jsantanders and other Angular Devs from our Community 😃
@ffetech I downloaded your sample code and immediately recognized the problem.
The ipcRenderer works asynchronously in the background. When a message arrives and your data is changed, no Angular Change Detection becomes active.
That’s because the Change Detection runs over Zone.js. This subscribes to all DOM events, XHR events, etc. - When these are triggered, only their call stack is processed. Then goes through the change detection. With otherwise asynchronous code, Zone.js does not recognize this.
The solution is to run your own asynchronous code in one zone. This automatically triggers a change detection. Here the updated code from your sample:
p.s. I would disguise the zone call in the service. Looks like better… 😃
I have the same issue with .Net Core 2.2 and 3.0 using a default MVC project but with Angular.
11 silly lifecycle electron.net.host@1.0.2 start: Returned: code: 1 signal: null 12 info lifecycle electron.net.host@1.0.2 start: Failed to exec start script 13 verbose stack Error: electron.net.host@1.0.2 start:
tsc -p . "--port" "55259"
13 verbose stack Exit status 1Any idea why this error and how to solve it?