Application Domains - Integration - Update 46 - Help - Hexagon

SmartPlant Integration .NET Help

Language
English
Product
Integration
Search by Category
Help
SmartPlant Foundation / SDx Version
10
Smart P&ID Version
9 (2019)
Smart Engineering Manager Version
10 (2019)

An application domain is a Microsoft Common Language Infrastructure mechanism that is similar to an operating system process, but is created within an operating system process through Microsoft .NET. A program’s process comes into existence with a default application domain which the program executes by default, but the program can be coded to add more application domains in which to execute code to the process. Each application domain has its own probing path for .NET assemblies. Each application domain also has its own virtual address space. Communicating between application domains is similar to communicating between processes, and requires marshalling and serialization.

Components in different application domains can reference different versions of the same assemblies because each domain has its own probing path for assemblies and its own Microsoft Windows Presentation Foundation (WPF) application object. For this reason, SmartPlant Client creates a separate application domain for its user interface. This separate application domain allows SmartPlant Client to reference third-party assemblies that provide WPF themes and user controls, even if the publishing tool uses the same third-party assemblies but with incompatible versions.