Welcome Guest Search | Active Topics | Sign In | Register

Browser Engine crashes in an AppDomain Options
James
Posted: Tuesday, March 27, 2018 10:12:00 AM
Rank: Advanced Member
Groups: Member

Joined: 2/11/2015
Posts: 122
I'm investigating migrating away from Multiple Process Architecture to Multiple AppDomains to improve the performance of part of my application.

Currently I have a system setup where a Shell process can launch child processes which each contain a Browser Engine, which launches one or more WebViews.

I'm investigating migrating from child processes to creating AppDomains, and I want to know the impact that EO.WebBrowser has on the AppDomains when various failures occur as its my only Native dependency.

Right now if a child process crashes it has no impact on the shell process, so the user can restart the child application without issue.
However with AppDomains, a native crash could bring down the whole system, which I would like to avoid.

With EO.WebBrowser, is there any actual native code referenced by the library? would a crash in any part of the EO.WebBrowser system potentially crash the entire process rather than just the AppDomain it lives in?

Any information you could provide me would be appreciated.
eo_support
Posted: Tuesday, March 27, 2018 11:03:08 AM
Rank: Administration
Groups: Administration

Joined: 5/27/2007
Posts: 24,221
Hi,

EO.WebBrowser does not run the native browser engine code inside your .NET process. It instead creates its own child process and run the native browser engine inside the child process. So in theory there should be no concern there.

Having that said, due to EO.WebBrowser uses unmanaged IO/handle resources extensively (in order to communicate with the browser engine), it does perform better when using multi-process architecture instead of multiple AppDomain architecture because multi-process architecture can guarantee those unmanaged resources are always being released. Where as AppDomain unload has a time out value that can time out before those resources are completely released, which can potentially cause issues.

Thanks!


You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.