System.AppDomainManager.CreateDomainHelper C# (CSharp) Method

CreateDomainHelper() private method

private CreateDomainHelper ( string friendlyName, Evidence securityInfo, AppDomainSetup appDomainInfo ) : AppDomain
friendlyName string
securityInfo Evidence
appDomainInfo AppDomainSetup
return AppDomain
        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());
        }

Usage Example

        /// <summary>Returns an application domain that can be either a new or existing domain.</summary>
        /// <returns>An <see cref="T:System.AppDomain" /> object.</returns>
        /// <param name="friendlyName">The friendly name of the domain. </param>
        /// <param name="securityInfo">An <see cref="T:System.Security.Policy.Evidence" /> object that contains evidence mapped through the security policy to establish a top-of-stack permission set.</param>
        /// <param name="appDomainInfo">An <see cref="T:System.AppDomainSetup" /> object that contains application domain initialization information.</param>
        /// <filterpriority>2</filterpriority>
        /// <PermissionSet>
        ///   <IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Flags="ControlEvidence, ControlAppDomain, Infrastructure" />
        /// </PermissionSet>
        public virtual AppDomain CreateDomain(string friendlyName, Evidence securityInfo, AppDomainSetup appDomainInfo)
        {
            this.InitializeNewDomain(appDomainInfo);
            AppDomain appDomain = AppDomainManager.CreateDomainHelper(friendlyName, securityInfo, appDomainInfo);

            if ((this.HostSecurityManager.Flags & HostSecurityManagerOptions.HostPolicyLevel) == HostSecurityManagerOptions.HostPolicyLevel)
            {
                PolicyLevel domainPolicy = this.HostSecurityManager.DomainPolicy;
                if (domainPolicy != null)
                {
                    appDomain.SetAppDomainPolicy(domainPolicy);
                }
            }
            return(appDomain);
        }
All Usage Examples Of System.AppDomainManager::CreateDomainHelper