Application Domains - HxGN SDx - Update 36 - Customization & Programming - Hexagon

HxGN SPClient Programming Guide

Search by Category
Customization & Programming

An application domain is a Microsoft Common Language Infrastructure mechanism like an operating system process but is created within an operating system process through Microsoft .NET. By default, a program's process contains an application domain in which the program's code executes. A program can create additional domains within the process in which to execute code. 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 like 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.