-
-
Notifications
You must be signed in to change notification settings - Fork 746
Description
My understanding of the current architecture
- The browser runs in a process (Say Process 1)
- The asp.net core web server runs in a process (Say Process 2)
- The asp.net core web server listens in a port (Say port 8003)
Request
- Run the browser in a process (Say Process 1)
- Run the asp.net core web server in the same process (that is Process 1)
- Host the web service as in process host. (Link below)
https://blogs.msdn.microsoft.com/webdev/2017/12/07/testing-asp-net-core-mvc-web-apps-in-memory/
Advantages
-
In the current approach the server is running as a separate process and is listening on a open port, this could be a security gap. When you host as "in process" there is no open port, and only code running within the process can access the web server.
-
In the current approach, there is interprocess communication happening over a socket that gets estabilished between the asp.net core server and the browser. Inter process communication is slow as data has to be transferred between processes using IPC. When you run as in-process, there is no inter process communication.
-
In the current approach, there are multiple processes running for the desktop app, when you host as in-process, there will be only one process.
Further note:
- It may take lot of time to get a in process web browser.
- It may be that it's not at all possible in a cross platform.
Regards,
Nachiappan
nachiapan@gmail.com