Home Page Icon
Home Page
Table of Contents for
Index
Close
Index
by Steven Pratschner
Customizing the Microsoft® .NET Framework Common Language Runtime
Customizing the Microsoft® .NET Framework Common Language Runtime
Foreword
Acknowledgments
Introduction
What Makes This .NET Framework Book Unique?
The .NET Framework 2.0 Prereleases
Sample Code and System Requirements
Comments, Corrections, and Support
1. CLR Hosts and Other Extensible Applications
Summary
2. A Tour of the CLR Hosting API
CorBindToRuntimeEx and ICLRRuntimeHost
CLR Hosting Managers
CLR Initialization and Startup
Other Unmanaged Functions on mscoree.dll
Hosting Manager Discovery
Discovering Host-Implemented Managers
Step 1: The Host Supplies a Host Control Class
Step 2: The CLR Queries the Host Control Class
Obtaining CLR-Implemented Managers
Overview of the Hosting Managers
Assembly Loading
Customizing Failure Behavior
Programming Model Enforcement
Memory and Garbage Collection
Threading and Synchronization
Other Hosting API Features
Loading Code Domain Neutral
Thread Pool Management
I/O Completion Management
Debugging Services Management
Application Domain Management
CLR Event Handling
Summary
3. Controlling CLR Startup and Shutdown
The CLR Startup Configuration Settings
Version
Side by Side: A Technique to Avoid DLL Hell
The Side-by-Side Architecture of the .NET Framework
.NET Framework Registry Keys
The Versioned Installation Directory
The Global Assembly Cache
The CLR Startup Shim
.NET Framework Updates
Choosing Your Strategy: Fix or Float
The Server and Workstation Builds
Concurrent Garbage Collection
Domain-Neutral Code
Setting the Startup Options Using CorBindToRuntimeEx
Starting the CLR
Handling Failures from CorBindToRuntimeEx
Deferring CLR Initialization and Startup
The CLR and Process Lifetime
Summary
4. Using the Default CLR Host
Invoking the Default Host: Running Managed Executables
Invoking the Default Host: Activating Managed Types Through COM Interop
Defaults for the CLR Startup Options
Selecting a CLR Version
Running Managed Executables
Upgrades
Activating Managed Types Through COM Interop
Customizing the Default Host Using Configuration Files
Concurrent Garbage Collection
Build Type
Changing the Build Type on Older Versions of the CLR
Version
The <supportedRuntime> Element
The <requiredRuntime> Element and .NET Framework 1.0
Summary
5. Using Application Domains Effectively
The Role of Application Domains
Type Safety and Verification
Application Isolation
Type Visibility
Configuration Data
Security Settings
Access to Static Data and Members
Runtime Concepts Not Isolated by Application Domains
Application Domain Structure
Assembly List
Security Policy
Application Domain Properties
Statics for Domain-Neutral Assemblies
Proxies for Remote Calls
The Default Application Domain
The AppDomainViewer Tool
Guidelines for Partitioning a Process into Multiple Application Domains
Code Unloading
Cross-Domain Communication
Sample Application Domain Boundaries
ASP.NET
SQL Server
Internet Explorer
Application Domain Managers
Creating an Application Domain Manager
Associating an Application Domain Manager with a Process
The CLR Hosting APIs
Calling an Application Domain Manager from Unmanaged Code
Step 1: Setting Initialization Flags to Register With Host
Step 2: Implement IHostControl::SetAppDomainManager
Environment Variables
Creating Application Domains
Application Domains and Threads
The CLR Thread Pool
Unloading Application Domains
Step 1: Aborting the Threads Running in the Domain
Step 2: Raising an Unload Event
Step 3: Running Finalizers
Step 4: Freeing the Internal CLR Data Structures
Exceptions Related to Unloading Application Domains
Receiving Application Domain Unload Events
Receiving Domain Unload Events Using the IActionOnCLREvent Interface
Summary
6. Configuring Application Domains
Application Domain Configuration Settings
Private Assembly Directory Settings
Customizing the ApplicationBase Directory Structure
Turning Off ApplicationBase Searching
Configuration File Settings
Shadow Copy Settings
Turning on Shadow Copy
Specifying the Location for the Copied Files
Specifying Which Files Are Copied
The Shadow Copy Sample
Assembly Binding Settings
Miscellaneous Settings
LicenseFile
LoaderOptimization
DynamicBase
DisallowCodeDownload
ActivationArguments
AppDomainInitializer and AppDomainInitializerArguments
Customizing Application Domain Creation Using System.AppDomainManager
Step 1: Call AppDomainManager.CreateDomain
Step 2: Create a New Instance of the Application Domain Manager
Step 3: Call AppDomainManager.InitializeNewDomain
Step 4: Get the ApplicationActivator
Step 5: Get the HostExecutionContextManager
Step 6: Get the HostSecurityManager
Summary
7. Loading Assemblies in Extensible Applications
Concepts and Terminology
Strong and Weak Assembly Names
Early-Bound and Late-Bound References
Fully Specified and Partially Specified References
Version Policy
Loading Assemblies by Assembly Identity
Architecture of an Extensible Application Revisited
System.Reflection.Assembly and CLR Remote Calls
Recommendations for Loading Assemblies in Extensible Applications
Step 1: The Extensible Application Is Made Aware of the New Add-In
Step 2: An Application Domain Is Chosen in Which to Load the New Add-In
Step 3: The Application Domain Manager in the Target Domain Is Called to Load the Add-In
Step 4: The Application Domain Manager in the Target Domain Loads the Add-In
Using Assembly.Load and Related Methods
Specifying Assembly Identities as Strings
Specifying Assembly Identities Using System.Reflection.AssemblyName
How the CLR Locates Assemblies
How the CLR Locates Assemblies with Weak Names
How the CLR Locates Assemblies with Strong Names
Using System.Reflection.Assembly to Determine an Assembly’s Location on Disk
Using Fuslogvw.exe to Understand How Assemblies Are Located
Common Assembly Loading Exceptions
Partially Specified Assembly References
Loading Assemblies by Filename
Subtleties of Assembly.LoadFrom
LoadFrom’s Second Bind
Binding Contexts and Type Identity
Loading Multiple Files with the Same Name
The Loadfrom Context and Dependencies
The ReflectionOnly APIs
Loading Assemblies Using ICLRRuntimeHost
Capturing Assembly Load Events
Versioning Considerations for Extensible Applications
Determining Which Version of the CLR Was Used to Build an Assembly
The Extensible Application Chooses the Version
Microsoft .NET Framework Unification
Overriding Unification
Summary
8. Customizing How Assemblies Are Loaded
The Cocoon Deployment Model
CLR Binding Identities
Obtaining Binding Identities
Step 1: Obtaining a Pointer to ICLRAssemblyIdentityManager
Step 2: Calling GetBindingIdentityFromFile (or Stream)
The Makecocoon.exe Program
Implementing an Assembly Loading Manager
Implementing the IHostAssemblyManager Interface
Specifying Non-Host-Loaded Assemblies
Returning an Assembly Store
Implementing the IHostAssemblyStore Interface
Resolving Assembly References
The AssemblyBindInfo Structure
The EBindPolicyLevels Enumeration
Associating Host-Specific Data with an Assembly
Assigning Assembly Identity
Loading Assemblies from a Cocoon
Resolving Module References
Bringing It All Together
Opening the Cocoon File
Initializing the CLR
Creating the Assembly Loading Manager and Host Control Object
Invoking the Hosted Application
Customizing How Assemblies Are Loaded Using Only Managed Code
The Load(byte[]...) Methods
The AssemblyResolve Event
The Runcocoonm Sample
Supporting Multifile Assemblies
Summary
9. Domain-Neutral Assemblies
Domain-Neutral Assembly Architecture
Implications of Using Domain-Neutral Code
Domain-Neutral Code Cannot Be Unloaded
Access to Static Member Variables Is Slower
Initialization of Types Can Be Slower
Security Policy Must Be Consistent Across All Application Domains
The Set of Domain-Neutral Assemblies Must Form a Closure
Domain-Neutral Code and Assembly Dependencies
Specifying Which Assemblies Are Loaded Domain Neutral
CorBindToRuntimeEx
The Loader Optimization API
Domain-Neutral Assemblies and the CLR Hosting Interfaces
Determining Whether an Assembly Has Been Loaded Domain Neutral
Summary
10. Extending the CLR Security System to Protect Your Extensible Application
An Overview of Code Access Security
The Core Concepts: Evidence, Permissions, and Policy
Evidence
Policy
Policy Levels
Default CAS Policy
Permissions
Runtime Enforcement of Permissions: Permission Demands and the Stack Walk
Customizing the Code Access Security System Using a HostSecurityManager
Code Access Security in the Cocoon Host
Step 1: Provide an Initial Implementation of HostSecurityManager
Step 2: Create Custom Evidence
Step 3: Create a Custom Membership Condition
Step 4: Create an Application-Domain-Level Policy Tree
Step 5: Assign Custom Evidence to Assemblies in the Cocoon
Assigning Evidence Using the Assembly Loading APIs
Putting It All Together
Associating Evidence with an Application Domain
The AllowPartiallyTrustedCallers Attribute
Summary
11. Writing Highly Available Microsoft .NET Framework Applications
Application Domain Isolation and Process Lifetimes
Failure Escalation
Critical Finalization, SafeHandles, and Constrained Execution Regions
Specifying Escalation Policy Using the CLR Hosting Interfaces
Setting Policy Using ICLRPolicyManager
Step 1: Obtain a ICLRPolicyManager Interface Pointer
Step 2: Set Actions to Take on Failures
Step 3: Set Timeouts and the Actions to Take for Various Operations
Step 4: Set Any Default Actions
Step 5: Specify Unhandled Exceptions Behavior
Receiving Notifications Through IHostPolicyManager
Step 1: Provide an Implementation of IHostPolicyManager
Step 2: Notify the CLR of Your Implementation Using IHostControl
Guidelines for Writing Highly Available Managed Code
Use SafeHandles to Encapsulate All Native Handles
Use Only the Synchronization Primitives Provided by the .NET Framework
Ensure That Calls to Unmanaged Code Return to the CLR
Annotate Your Libraries with the HostProtectionAttribute
Summary
12. Enforcing Application-Specific Programming Model Constraints
The Host Protection Categories
Synchronization
Shared State
External Process Management
Self-Affecting Process Management
Self-Affecting Threading
External Threading
Security Infrastructure
User Interface
"May Leak on Abort"
Using the Host Protection Manager
Host Protection in the Cocoon Deployment Model
Step 1: Obtaining the ICLRHostProtectionManager Interface Pointer
Step 2: Specifying Which Host Protection Categories to Block
Summary
13. Managing How the CLR Uses Memory
Integrating the CLR with Custom Memory Managers
Virtual Memory Management
Heap Management
File Mapping
Reporting Memory Status to the CLR
The GetMemoryLoad Method
The ICLRMemoryNotificationCallback Interface
Configuring the CLR Garbage Collector
Partitioning the Garbage Collector’s Heap
Gathering Garbage Collection Statistics
Initiating Garbage Collections
Receiving Notifications Through the IHostGCManager Interface
Summary
14. Integrating the CLR with Custom Schedulers and Thread Pools
The Task Abstraction
Controlling the Execution of Tasks
The Life Cycle of a Task
Hooking Calls That Enter and Leave the CLR
The Synchronization Manager
Replacing the CLR’s Thread Pool
Summary
About the Author
Index
About the Author
Copyright
Search in book...
Toggle Font Controls
Playlists
Add To
Create new playlist
Name your new playlist
Playlist description (optional)
Cancel
Create playlist
Sign In
Email address
Password
Forgot Password?
Create account
Login
or
Continue with Facebook
Continue with Google
Sign Up
Full Name
Email address
Confirm Email Address
Password
Login
Create account
or
Continue with Facebook
Continue with Google
Prev
Previous Chapter
Index
Next
Next Chapter
Index
I
I/O completion manager,
CLR Hosting Managers
,
Loading Code Domain Neutral
IActionOnCLREvent,
Receiving Application Domain Unload Events
ICLR interfaces,
CorBindToRuntimeEx and ICLRRuntimeHost
(see also specific ICLR interfaces)
ICLRAssemblyIdentityManager,
CLR Binding Identities
,
Obtaining Binding Identities
,
Obtaining Binding Identities
,
Obtaining Binding Identities
,
Obtaining Binding Identities
,
Obtaining Binding Identities
,
Obtaining Binding Identities
,
Step 1: Obtaining a Pointer to ICLRAssemblyIdentityManager
,
Step 1: Obtaining a Pointer to ICLRAssemblyIdentityManager
GetBindingIdentityFromFile method,
Obtaining Binding Identities
,
Step 1: Obtaining a Pointer to ICLRAssemblyIdentityManager
GetBindingIdentityFromStream method,
Obtaining Binding Identities
GetCLRAssemblyReferenceList method,
Obtaining Binding Identities
GetProbingAssembliesFromReference method,
Obtaining Binding Identities
GetReferencedAssembliesFromFile method,
Obtaining Binding Identities
methods, table of,
Obtaining Binding Identities
obtaining a pointer to,
Step 1: Obtaining a Pointer to ICLRAssemblyIdentityManager
purpose of,
CLR Binding Identities
ICLRControl,
Other Unmanaged Functions on mscoree.dll
,
Step 2: The CLR Queries the Host Control Class
,
Associating an Application Domain Manager with a Process
,
Associating an Application Domain Manager with a Process
application managers with,
Associating an Application Domain Manager with a Process
manager discovery with,
Other Unmanaged Functions on mscoree.dll
,
Step 2: The CLR Queries the Host Control Class
SetAppDomainManagerType method,
Associating an Application Domain Manager with a Process
ICLRGCManager,
The ICLRMemoryNotificationCallback Interface
,
The ICLRMemoryNotificationCallback Interface
,
Configuring the CLR Garbage Collector
,
Configuring the CLR Garbage Collector
,
Partitioning the Garbage Collector’s Heap
,
Gathering Garbage Collection Statistics
Collect method,
Gathering Garbage Collection Statistics
GetStats method,
Partitioning the Garbage Collector’s Heap
methods, table of,
Configuring the CLR Garbage Collector
pointers, obtaining,
The ICLRMemoryNotificationCallback Interface
purpose of,
The ICLRMemoryNotificationCallback Interface
SetGCStartupLimits method,
Configuring the CLR Garbage Collector
ICLRHostProtectionManager,
Programming Model Enforcement
,
Enforcing Application-Specific Programming Model Constraints
,
"May Leak on Abort"
ICLRMemoryNotificationCallback,
Reporting Memory Status to the CLR
ICLROnEventManager,
Receiving Application Domain Unload Events
ICLRPolicyManager,
Specifying Escalation Policy Using the CLR Hosting Interfaces
,
Specifying Escalation Policy Using the CLR Hosting Interfaces
,
Setting Policy Using ICLRPolicyManager
,
Setting Policy Using ICLRPolicyManager
,
Setting Policy Using ICLRPolicyManager
,
Setting Policy Using ICLRPolicyManager
,
Setting Policy Using ICLRPolicyManager
,
Setting Policy Using ICLRPolicyManager
,
Step 2: Set Actions to Take on Failures
,
Step 2: Set Actions to Take on Failures
,
Step 2: Set Actions to Take on Failures
,
Step 2: Set Actions to Take on Failures
,
Step 2: Set Actions to Take on Failures
,
Step 2: Set Actions to Take on Failures
,
Step 2: Set Actions to Take on Failures
,
Step 2: Set Actions to Take on Failures
,
Step 3: Set Timeouts and the Actions to Take for Various Operations
,
Step 3: Set Timeouts and the Actions to Take for Various Operations
,
Step 4: Set Any Default Actions
,
Step 4: Set Any Default Actions
action enumeration for,
Step 2: Set Actions to Take on Failures
actions, specifying for failures,
Step 2: Set Actions to Take on Failures
default action specification,
Setting Policy Using ICLRPolicyManager
,
Step 3: Set Timeouts and the Actions to Take for Various Operations
enumeration of escalation concepts,
Specifying Escalation Policy Using the CLR Hosting Interfaces
failure enumeration for,
Step 2: Set Actions to Take on Failures
fast process exits,
Step 2: Set Actions to Take on Failures
methods of,
Specifying Escalation Policy Using the CLR Hosting Interfaces
obtaining pointers to,
Setting Policy Using ICLRPolicyManager
operation enumeration,
Step 2: Set Actions to Take on Failures
operations, timeout values for,
Step 2: Set Actions to Take on Failures
SetActionOnFailure method,
Step 2: Set Actions to Take on Failures
SetDefaultAction method,
Setting Policy Using ICLRPolicyManager
,
Step 3: Set Timeouts and the Actions to Take for Various Operations
SetUnhandledExceptionPolicy method,
Step 4: Set Any Default Actions
steps for using,
Setting Policy Using ICLRPolicyManager
timeout methods,
Setting Policy Using ICLRPolicyManager
,
Step 2: Set Actions to Take on Failures
unhandled exception behavior specification,
Setting Policy Using ICLRPolicyManager
,
Step 4: Set Any Default Actions
ICLRRuntimeHost,
A Tour of the CLR Hosting API
,
CorBindToRuntimeEx and ICLRRuntimeHost
,
CorBindToRuntimeEx and ICLRRuntimeHost
,
CorBindToRuntimeEx and ICLRRuntimeHost
,
CorBindToRuntimeEx and ICLRRuntimeHost
,
CorBindToRuntimeEx and ICLRRuntimeHost
,
CorBindToRuntimeEx and ICLRRuntimeHost
,
CorBindToRuntimeEx and ICLRRuntimeHost
,
CorBindToRuntimeEx and ICLRRuntimeHost
,
CorBindToRuntimeEx and ICLRRuntimeHost
,
CorBindToRuntimeEx and ICLRRuntimeHost
,
CorBindToRuntimeEx and ICLRRuntimeHost
,
CLR Initialization and Startup
,
Discovering Host-Implemented Managers
,
Loading Code Domain Neutral
,
Setting the Startup Options Using CorBindToRuntimeEx
,
Setting the Startup Options Using CorBindToRuntimeEx
,
The CLR and Process Lifetime
,
The Loadfrom Context and Dependencies
application domain manager,
Loading Code Domain Neutral
CorBindToRuntimeEx parameters for,
Setting the Startup Options Using CorBindToRuntimeEx
defined,
A Tour of the CLR Hosting API
ExecuteApplication method,
CorBindToRuntimeEx and ICLRRuntimeHost
ExecuteInDefaultAppDomain method,
CorBindToRuntimeEx and ICLRRuntimeHost
,
The Loadfrom Context and Dependencies
ExecuteInDomain method,
CorBindToRuntimeEx and ICLRRuntimeHost
GetCLRControl method,
CorBindToRuntimeEx and ICLRRuntimeHost
GetCurrentAppDomainId method,
CorBindToRuntimeEx and ICLRRuntimeHost
GetHostControl method,
CorBindToRuntimeEx and ICLRRuntimeHost
importance of,
CorBindToRuntimeEx and ICLRRuntimeHost
methods, table of,
CorBindToRuntimeEx and ICLRRuntimeHost
SetHostControl method,
Discovering Host-Implemented Managers
starting CLR with,
CorBindToRuntimeEx and ICLRRuntimeHost
,
CLR Initialization and Startup
,
Setting the Startup Options Using CorBindToRuntimeEx
Stop method,
CorBindToRuntimeEx and ICLRRuntimeHost
,
The CLR and Process Lifetime
UnloadAppDomain method,
CorBindToRuntimeEx and ICLRRuntimeHost
ICLRSyncManager,
The Synchronization Manager
ICLRTask,
Controlling the Execution of Tasks
,
Controlling the Execution of Tasks
,
The Life Cycle of a Task
,
The Life Cycle of a Task
,
The Life Cycle of a Task
,
The Life Cycle of a Task
ExitTask method,
The Life Cycle of a Task
instancing,
The Life Cycle of a Task
methods, table of,
Controlling the Execution of Tasks
purpose of,
Controlling the Execution of Tasks
SwitchIn method,
The Life Cycle of a Task
SwitchOut method,
The Life Cycle of a Task
ICLRTaskManager,
Controlling the Execution of Tasks
ICorRuntimeHost, application domain creation with,
Creating Application Domains
identities, assembly.,
Concepts and Terminology
,
Version Policy
,
The Cocoon Deployment Model
,
Associating Host-Specific Data with an Assembly
(see also )
assignment by hosts,
Associating Host-Specific Data with an Assembly
components of,
Concepts and Terminology
string based,
The Cocoon Deployment Model
IHost interfaces,
CLR Hosting Managers
(see also specific IHost interfaces)
IHostAssemblyManager,
Assembly Loading
,
Implementing an Assembly Loading Manager
,
Implementing an Assembly Loading Manager
,
Implementing an Assembly Loading Manager
,
Specifying Non-Host-Loaded Assemblies
,
Specifying Non-Host-Loaded Assemblies
,
Specifying Non-Host-Loaded Assemblies
,
Specifying Non-Host-Loaded Assemblies
binding process,
Assembly Loading
CLR behavior options,
Specifying Non-Host-Loaded Assemblies
GetAssemblyStore method,
Specifying Non-Host-Loaded Assemblies
GetNonHostStoreAssemblies method,
Specifying Non-Host-Loaded Assemblies
implementation,
Implementing an Assembly Loading Manager
key capacities of,
Implementing an Assembly Loading Manager
methods, table of,
Implementing an Assembly Loading Manager
specifying non-host-loaded assemblies,
Specifying Non-Host-Loaded Assemblies
IHostAssemblyStore,
Specifying Non-Host-Loaded Assemblies
,
Specifying Non-Host-Loaded Assemblies
,
Specifying Non-Host-Loaded Assemblies
,
Specifying Non-Host-Loaded Assemblies
,
Implementing the IHostAssemblyStore Interface
,
Implementing the IHostAssemblyStore Interface
,
Implementing the IHostAssemblyStore Interface
,
The AssemblyBindInfo Structure
,
The AssemblyBindInfo Structure
,
The AssemblyBindInfo Structure
,
Resolving Module References
application domain identification,
The AssemblyBindInfo Structure
assemblies identification,
The AssemblyBindInfo Structure
AssemblyBindInfo,
Implementing the IHostAssemblyStore Interface
form of assemblies returned,
Specifying Non-Host-Loaded Assemblies
implementation overview,
Specifying Non-Host-Loaded Assemblies
methods in,
Implementing the IHostAssemblyStore Interface
ProvideAssembly method,
Implementing the IHostAssemblyStore Interface
ProvideModule method,
Resolving Module References
purpose of,
Specifying Non-Host-Loaded Assemblies
returning,
Specifying Non-Host-Loaded Assemblies
versioning,
The AssemblyBindInfo Structure
IHostAutoEvent,
The Synchronization Manager
IHostControl,
Other Unmanaged Functions on mscoree.dll
,
Loading Code Domain Neutral
,
Domain-Neutral Assemblies and the CLR Hosting Interfaces
domain-neutral code loading,
Loading Code Domain Neutral
GetDomainNeutralAssemblies method,
Domain-Neutral Assemblies and the CLR Hosting Interfaces
manager discovery with,
Other Unmanaged Functions on mscoree.dll
IHostCrst,
The Synchronization Manager
IHostGCManager,
Initiating Garbage Collections
IHostMalloc,
Virtual Memory Management
IHostManualEvent,
The Synchronization Manager
IHostMemoryManager,
Managing How the CLR Uses Memory
,
Managing How the CLR Uses Memory
,
Virtual Memory Management
,
Heap Management
,
Reporting Memory Status to the CLR
,
Reporting Memory Status to the CLR
CreateMalloc method,
Virtual Memory Management
defined,
Managing How the CLR Uses Memory
file mapping,
Heap Management
GetMemoryLoad method,
Reporting Memory Status to the CLR
RegisterMemoryNotificationCallback method,
Reporting Memory Status to the CLR
virtual memory methods,
Managing How the CLR Uses Memory
IHostPolicyManager,
Step 5: Specify Unhandled Exceptions Behavior
IHostSemaphore,
The Synchronization Manager
IHostSyncManager,
The Synchronization Manager
IHostTask,
Controlling the Execution of Tasks
,
Controlling the Execution of Tasks
,
The Life Cycle of a Task
,
The Life Cycle of a Task
methods, table of,
Controlling the Execution of Tasks
purpose of,
Controlling the Execution of Tasks
SetCLRTask method,
The Life Cycle of a Task
Start method,
The Life Cycle of a Task
IHostTaskManager,
Controlling the Execution of Tasks
,
Controlling the Execution of Tasks
,
Controlling the Execution of Tasks
,
Controlling the Execution of Tasks
,
Controlling the Execution of Tasks
,
Controlling the Execution of Tasks
,
Controlling the Execution of Tasks
,
Controlling the Execution of Tasks
,
Controlling the Execution of Tasks
,
Controlling the Execution of Tasks
,
Controlling the Execution of Tasks
,
Controlling the Execution of Tasks
,
Controlling the Execution of Tasks
,
Controlling the Execution of Tasks
,
Controlling the Execution of Tasks
,
Controlling the Execution of Tasks
,
Controlling the Execution of Tasks
,
The Life Cycle of a Task
,
Hooking Calls That Enter and Leave the CLR
BeginDelayAbort method,
Controlling the Execution of Tasks
BeginThreadAffinity method,
Controlling the Execution of Tasks
CreateTask method,
Controlling the Execution of Tasks
,
The Life Cycle of a Task
defined,
Controlling the Execution of Tasks
EndDelayAbort method,
Controlling the Execution of Tasks
EndThreadAffinity method,
Controlling the Execution of Tasks
EnterRuntime method,
Controlling the Execution of Tasks
GetCurrentTask method,
Controlling the Execution of Tasks
LeaveRuntime method,
Controlling the Execution of Tasks
managed to unmanaged code notification methods,
Hooking Calls That Enter and Leave the CLR
methods, table of,
Controlling the Execution of Tasks
ReverseEnterRuntime method,
Controlling the Execution of Tasks
ReverseLeaveRuntime method,
Controlling the Execution of Tasks
SetCLRTaskManager method,
Controlling the Execution of Tasks
SetLocale method,
Controlling the Execution of Tasks
SetUILocale method,
Controlling the Execution of Tasks
Sleep method,
Controlling the Execution of Tasks
SwitchToTask method,
Controlling the Execution of Tasks
IHostThreadPoolManager,
Loading Code Domain Neutral
,
The Synchronization Manager
ImageRuntimeVersion property,
Versioning Considerations for Extensible Applications
IMembershipCondition,
Step 3: Create a Custom Membership Condition
implicit loading of CLR,
CLR Initialization and Startup
initialization of CLR,
CLR Hosting Managers
,
CLR Hosting Managers
,
CLR Hosting Managers
,
CLR Initialization and Startup
,
CLR Initialization and Startup
,
CLR Initialization and Startup
,
CLR Initialization and Startup
,
CLR Initialization and Startup
,
CLR Initialization and Startup
,
CLR Initialization and Startup
,
Initializing the CLR
build settings,
CLR Hosting Managers
cocoon example,
Initializing the CLR
CorBindToRuntimeEx for,
CLR Hosting Managers
domain-neutral code settings,
CLR Initialization and Startup
garbage settings,
CLR Initialization and Startup
implicit loading,
CLR Initialization and Startup
side-by-side architecture,
CLR Initialization and Startup
specifying configuration settings,
CLR Initialization and Startup
starting CLR,
CLR Initialization and Startup
(see also )
startup shims,
CLR Initialization and Startup
(see also )
version settings,
CLR Hosting Managers
InitializationFlags method,
Creating an Application Domain Manager
InitializationFlags property,
The CLR Hosting APIs
InitializeNewDomain method,
Application Domain Managers
,
Step 1: Call AppDomainManager.CreateDomain
interface definition generation,
Step 2: Implement IHostControl::SetAppDomainManager
Internet Explorer,
CLR Hosts and Other Extensible Applications
,
SQL Server
application domains with,
SQL Server
extensibility of,
CLR Hosts and Other Extensible Applications
Add Highlight
No Comment
..................Content has been hidden....................
You can't read the all page of ebook, please click
here
login for view all page.
Day Mode
Cloud Mode
Night Mode
Reset