Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / clr / src / BCL / System / AppDomainManager.cs / 1 / AppDomainManager.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== // // An AppDomainManager gives a hosting application the chance to // participate in the creation and control the settings of new AppDomains. // namespace System { using System.Collections; using System.Globalization; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Security; using System.Security.Permissions; using System.Security.Policy; using System.Threading; using System.Runtime.Hosting; [Flags] [System.Runtime.InteropServices.ComVisible(true)] public enum AppDomainManagerInitializationOptions { None = 0x0000, RegisterWithHost = 0x0001 } [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.Infrastructure)] [SecurityPermissionAttribute(SecurityAction.InheritanceDemand, Flags=SecurityPermissionFlag.Infrastructure)] [System.Runtime.InteropServices.ComVisible(true)] public class AppDomainManager : MarshalByRefObject { public AppDomainManager () {} public virtual AppDomain CreateDomain (string friendlyName, Evidence securityInfo, AppDomainSetup appDomainInfo) { return CreateDomainHelper(friendlyName, securityInfo, appDomainInfo); } [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.Infrastructure)] [SecurityPermissionAttribute(SecurityAction.Demand, ControlAppDomain = true)] protected static AppDomain CreateDomainHelper (string friendlyName, Evidence securityInfo, AppDomainSetup appDomainInfo) { if (friendlyName == null) throw new ArgumentNullException(Environment.GetResourceString("ArgumentNull_String")); // If evidence is provided, we check to make sure that is allowed. if (securityInfo != null) new SecurityPermission(SecurityPermissionFlag.ControlEvidence).Demand(); return AppDomain.nCreateDomain(friendlyName, appDomainInfo, securityInfo, securityInfo == null ? AppDomain.CurrentDomain.InternalEvidence : null, AppDomain.CurrentDomain.GetSecurityDescriptor()); } public virtual void InitializeNewDomain (AppDomainSetup appDomainInfo) { // By default, InitializeNewDomain does nothing. } private AppDomainManagerInitializationOptions m_flags = AppDomainManagerInitializationOptions.None; public AppDomainManagerInitializationOptions InitializationFlags { get { return m_flags; } set { m_flags = value; } } #if !FEATURE_PAL private ApplicationActivator m_appActivator = null; public virtual ApplicationActivator ApplicationActivator { get { if (m_appActivator == null) m_appActivator = new ApplicationActivator(); return m_appActivator; } } #endif //!FEATURE_PAL public virtual HostSecurityManager HostSecurityManager { get { return null; } } public virtual HostExecutionContextManager HostExecutionContextManager { get { // By default, the AppDomainManager returns the HostExecutionContextManager. return HostExecutionContextManager.GetInternalHostExecutionContextManager(); } } private Assembly m_entryAssembly = null; public virtual Assembly EntryAssembly { get { // The default AppDomainManager sets the EntryAssembly depending on whether the // AppDomain is a manifest application domain or not. In the first case, we parse // the application manifest to find out the entry point assembly and return that assembly. // In the second case, we maintain the old behavior by calling nGetEntryAssembly(). if (m_entryAssembly == null) { AppDomain domain = AppDomain.CurrentDomain; #if !FEATURE_PAL if (domain.IsDefaultAppDomain() && domain.ActivationContext != null) { ManifestRunner runner = new ManifestRunner(domain, domain.ActivationContext); m_entryAssembly = runner.EntryAssembly; } else #endif //!FEATURE_PAL m_entryAssembly = nGetEntryAssembly(); } return m_entryAssembly; } } public virtual bool CheckSecuritySettings(SecurityState state) { return false; } internal static AppDomainManager CurrentAppDomainManager { get { return AppDomain.CurrentDomain.DomainManager; } } [MethodImplAttribute(MethodImplOptions.InternalCall)] internal extern void nRegisterWithHost(); [MethodImplAttribute(MethodImplOptions.InternalCall)] private static extern Assembly nGetEntryAssembly(); } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== // // An AppDomainManager gives a hosting application the chance to // participate in the creation and control the settings of new AppDomains. // namespace System { using System.Collections; using System.Globalization; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Security; using System.Security.Permissions; using System.Security.Policy; using System.Threading; using System.Runtime.Hosting; [Flags] [System.Runtime.InteropServices.ComVisible(true)] public enum AppDomainManagerInitializationOptions { None = 0x0000, RegisterWithHost = 0x0001 } [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.Infrastructure)] [SecurityPermissionAttribute(SecurityAction.InheritanceDemand, Flags=SecurityPermissionFlag.Infrastructure)] [System.Runtime.InteropServices.ComVisible(true)] public class AppDomainManager : MarshalByRefObject { public AppDomainManager () {} public virtual AppDomain CreateDomain (string friendlyName, Evidence securityInfo, AppDomainSetup appDomainInfo) { return CreateDomainHelper(friendlyName, securityInfo, appDomainInfo); } [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.Infrastructure)] [SecurityPermissionAttribute(SecurityAction.Demand, ControlAppDomain = true)] protected static AppDomain CreateDomainHelper (string friendlyName, Evidence securityInfo, AppDomainSetup appDomainInfo) { if (friendlyName == null) throw new ArgumentNullException(Environment.GetResourceString("ArgumentNull_String")); // If evidence is provided, we check to make sure that is allowed. if (securityInfo != null) new SecurityPermission(SecurityPermissionFlag.ControlEvidence).Demand(); return AppDomain.nCreateDomain(friendlyName, appDomainInfo, securityInfo, securityInfo == null ? AppDomain.CurrentDomain.InternalEvidence : null, AppDomain.CurrentDomain.GetSecurityDescriptor()); } public virtual void InitializeNewDomain (AppDomainSetup appDomainInfo) { // By default, InitializeNewDomain does nothing. } private AppDomainManagerInitializationOptions m_flags = AppDomainManagerInitializationOptions.None; public AppDomainManagerInitializationOptions InitializationFlags { get { return m_flags; } set { m_flags = value; } } #if !FEATURE_PAL private ApplicationActivator m_appActivator = null; public virtual ApplicationActivator ApplicationActivator { get { if (m_appActivator == null) m_appActivator = new ApplicationActivator(); return m_appActivator; } } #endif //!FEATURE_PAL public virtual HostSecurityManager HostSecurityManager { get { return null; } } public virtual HostExecutionContextManager HostExecutionContextManager { get { // By default, the AppDomainManager returns the HostExecutionContextManager. return HostExecutionContextManager.GetInternalHostExecutionContextManager(); } } private Assembly m_entryAssembly = null; public virtual Assembly EntryAssembly { get { // The default AppDomainManager sets the EntryAssembly depending on whether the // AppDomain is a manifest application domain or not. In the first case, we parse // the application manifest to find out the entry point assembly and return that assembly. // In the second case, we maintain the old behavior by calling nGetEntryAssembly(). if (m_entryAssembly == null) { AppDomain domain = AppDomain.CurrentDomain; #if !FEATURE_PAL if (domain.IsDefaultAppDomain() && domain.ActivationContext != null) { ManifestRunner runner = new ManifestRunner(domain, domain.ActivationContext); m_entryAssembly = runner.EntryAssembly; } else #endif //!FEATURE_PAL m_entryAssembly = nGetEntryAssembly(); } return m_entryAssembly; } } public virtual bool CheckSecuritySettings(SecurityState state) { return false; } internal static AppDomainManager CurrentAppDomainManager { get { return AppDomain.CurrentDomain.DomainManager; } } [MethodImplAttribute(MethodImplOptions.InternalCall)] internal extern void nRegisterWithHost(); [MethodImplAttribute(MethodImplOptions.InternalCall)] private static extern Assembly nGetEntryAssembly(); } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ConfigUtil.cs
- QuaternionIndependentAnimationStorage.cs
- SiteMapNode.cs
- Funcletizer.cs
- MiniConstructorInfo.cs
- Application.cs
- BitArray.cs
- Main.cs
- LayoutTableCell.cs
- TagPrefixInfo.cs
- ModuleConfigurationInfo.cs
- ConnectionStringsExpressionEditor.cs
- SubpageParaClient.cs
- VectorKeyFrameCollection.cs
- ViewBox.cs
- FormViewDeletedEventArgs.cs
- ping.cs
- ProgressBar.cs
- ButtonChrome.cs
- FixedSOMPage.cs
- EmbeddedObject.cs
- PageContentCollection.cs
- IPGlobalProperties.cs
- TraceListeners.cs
- WsdlBuildProvider.cs
- NullNotAllowedCollection.cs
- ToolStripItemClickedEventArgs.cs
- GB18030Encoding.cs
- AddingNewEventArgs.cs
- BitmapEffectInput.cs
- SafeArrayRankMismatchException.cs
- ConfigXmlElement.cs
- GcSettings.cs
- FileDataSourceCache.cs
- ActivityExecutionContext.cs
- XmlNodeReader.cs
- Validator.cs
- GZipStream.cs
- PropertyGridView.cs
- AdjustableArrowCap.cs
- MetafileHeader.cs
- PeerTransportListenAddressValidatorAttribute.cs
- CharUnicodeInfo.cs
- XamlValidatingReader.cs
- MachineSettingsSection.cs
- ParseChildrenAsPropertiesAttribute.cs
- XmlHelper.cs
- QueryResults.cs
- TextTreeExtractElementUndoUnit.cs
- FormViewPagerRow.cs
- MaskedTextBox.cs
- XPathSelectionIterator.cs
- TaskResultSetter.cs
- GridViewDeletedEventArgs.cs
- FilteredSchemaElementLookUpTable.cs
- DataRecordObjectView.cs
- CustomTrackingRecord.cs
- HtmlInputCheckBox.cs
- XmlDataFileEditor.cs
- TcpChannelHelper.cs
- ComboBoxItem.cs
- PartialTrustVisibleAssemblyCollection.cs
- FixedBufferAttribute.cs
- HiddenField.cs
- ClientWindowsAuthenticationMembershipProvider.cs
- Path.cs
- RuntimeHandles.cs
- TextSchema.cs
- XmlSchemaType.cs
- OrderablePartitioner.cs
- UInt16Converter.cs
- ICspAsymmetricAlgorithm.cs
- BoundField.cs
- BuildManagerHost.cs
- DataGridViewComboBoxColumn.cs
- TypefaceMetricsCache.cs
- ExtractorMetadata.cs
- HtmlInputSubmit.cs
- DelegatingTypeDescriptionProvider.cs
- CompositeFontFamily.cs
- CollectionEditor.cs
- DirectoryRootQuery.cs
- InstanceCreationEditor.cs
- SmiRequestExecutor.cs
- Assert.cs
- TdsParserStateObject.cs
- FontFamilyIdentifier.cs
- IPAddressCollection.cs
- Duration.cs
- TypeConvertions.cs
- EntityDesignerDataSourceView.cs
- XmlReaderSettings.cs
- OletxVolatileEnlistment.cs
- GridErrorDlg.cs
- LoadRetryConstantStrategy.cs
- EntityDataSourceContextCreatingEventArgs.cs
- OracleRowUpdatingEventArgs.cs
- ManipulationPivot.cs
- StackSpiller.Generated.cs
- String.cs