Home
Browse all 647 examples
Download all 647 examples
Download sample chapters
Reviews
Errata
Acknowledgments
Links on .NET
Paradoxal Press

Buy directly from Paradoxal Press at $33.99 (Save 43%)



Category: Programming
Level: Beginner to seasoned
900 pages
ISBN-10 097661322-0
ISBN-13 978-097661322-0
$59.99 USA
$79.99 CANADA


Chapter 4: The CLR (Common Languages Runtime)


Chapter 3<     > Chapter 5


Listings: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Table of content:

Application Domains (AppDomain)
       Introduction
       Threads and AppDomains
       Unloading an AppDomain
       AppDomains and isolation
       The System.AppDomain class
       Hosting several applications in a single process
       Running some code inside the context of another AppDomain
       Events of the AppDomain class
       Sharing information between the AppDomains of a same process

Loading the CLR inside a Windows process with the runtime host
       mscorsvr.dll and mscorwks.dll
       The mscorlib.dll assembly
       Introduction to the runtime host
       Hosting several versions of the CLR on a single machine
       Loading the CLR with the CorBindToRuntimeEx() function
       Creating a custom runtime host
       Tuning the CLR from a custom runtime host
       Characteristics of the SQL Server 2005 runtime host

Profiling the execution of your .NET applications

Locating and loading assemblies
       When does the CLR attempt to locate an assembly?
       The location algorithm used by the CLR
       Diagram of the location algorithm
       The <assemblyBinding> element of the configuration file
       The Shadow Copy mechanism

Resolving types at runtime
       Loading an assembly explicitly or implicitly
       Referencing an assembly at compile time
       An example
       Diagram of the types resolving algorithm

JIT compilation (Just In Time)
       Portable binary code
       Introduction to Just In Time compilation
       The ngen.exe tool
       Performance counters and JIT compilation

The garbage collector (GC) and the managed heap
       Introduction to garbage collecting
       Problems encountered by the garbage collecting algorithms
       The .NET GC
       Step 1: finding the root objects
       Step 2: building the tree of active objects
       Step 3: deallocating inactive objects
       Step 4: heap defragmentation
       Step 5: recomputing physical addresses used by managed references
       Good practices
       The special heap for big objects
       Garbage collection in a multithreaded environment
       Weak references
       Using the System.GC class to influence the GC behaviour

CLR facilities to make your code more reliable
       Asynchronous exceptions and managed code reliability
       Constrained Execution Regions (CER)
       How to define your own CERs?
       Memory Gates
       Reliability contracts
       Critical finalizers
       Critical regions

CLI and CLS
       Constraints which must be satisfied by .NET languages
       CLI and CLS from developer's perspective



Copyright Patrick Smacchia 2006 2007