What is an Application Domain?
If you are preparing yourself for the MCTS certification, you must understand what an application domain is. An application domain is a boundary that allows .NET applications to run within a single process, but prevents them from affecting other applications. Basically, this means that it prevents assemblies to directly access chunks of memory belonging to other assemblies. The application domain provides fault-proof features by prohibiting unhandled exceptions from affecting other application domains. This means that applications contained in separate application domains can continue to work at full performance.
Features of the Application Domain
One of the features of the application domain, relevant for the MCTS exam, is that it separates memory spaces and also separates access to resources. The fact that application domains enable multiple assemblies to run in separate application domains, make application domains more effective than processes.
Reliability – important notion for MCTS certification
For MCTS 50 736 you should know that application domains can be used to isolate tasks that might terminate a process. An unstable application domain can be unloaded without affecting the process. This benefits processes that run for long periods of time without restating. Isolating tasks that should not share data is another usage of the application domain.
How to Create an Application Domain for the MCTS Exam
If you want to create an application domain, you can use one of the overloaded AppDomain.CreateDomain methods.
How to Load Assemblies in an Application Domain
Loading an assembly in an application domain can be done in several ways. The recommended way is to use the static load method of the System.Reflection.Assembly class. The others ways of loading an assembly are: the LoadFrom method of the Assembly class, the ReflectionOnlyLoad and ReflectionOnlyLoadFrom methods, the GetType method of the Type class and the Load method of the System.AppDomain class.
How to Unload an Application Domain
The AppDomain.Unload method can be used to unload an application domain, thus removing the assembly loaded in the application domain.
For the MCTS Exam 70 536, you will need to know all of the above.
Key Exam Points
- Make sure you fully understand the Application Domain
- Study its implementations
- Work on your own for the MCTS Exam 70 536
This article is based on the 2nd edition of the Microsoft .Net Framework Application Training Kit with the purpose to help 70-536 Exam takers to succeed. I constantly look for ways to improve the content. Please leave a comment about this article or drop me a message if you would like to see changes for this site.