IsDefaultAppDomain() public méthode

public IsDefaultAppDomain ( ) : bool
Résultat bool
 private AppDomainInfo(AppDomain appDomain)
 {
     this.friendlyName = appDomain.FriendlyName;
     this.isDefaultAppDomain = appDomain.IsDefaultAppDomain();
     Process currentProcess = Process.GetCurrentProcess();
     this.processName = currentProcess.ProcessName;
     this.machineName = Environment.MachineName;
     this.processId = currentProcess.Id;
     this.id = appDomain.Id;
 }
        AppDomainInfo(AppDomain appDomain)
        {
            // Assumption: Only one AppDomainInfo is created per AppDomain
            Fx.Assert(null != appDomain, "");
            this.instanceId = Guid.NewGuid();
            this.friendlyName = appDomain.FriendlyName;
            this.isDefaultAppDomain = appDomain.IsDefaultAppDomain();
            Process process = Process.GetCurrentProcess();
            this.processName = process.ProcessName;
            this.machineName = Environment.MachineName;
            this.processId = process.Id;
            this.id = appDomain.Id;

        }
Exemple #3
0
        /// <summary>
        /// Loads a saved environment from the parent process.
        /// </summary>
        /// <param name="stream">The stream.</param>
        /// <param name="domain">The domain.</param>
        private static void _LoadEnvironmentFrom(Stream stream, AppDomain domain)
        {
            var formatter   = new BinaryFormatter();
            var environment = formatter.Deserialize(stream) as Dictionary <string, string>;

            var baseDirectory           = environment["baseDirectory"];
            var configurationFile       = environment["configurationFile"];
            var directoryToDeleteOnExit = new DirectoryInfo(environment["deleteOnExit"]);

            domain.SetupInformation.ConfigurationFile = configurationFile;

            // make sure we're removed from disk after exit
            if (domain.IsDefaultAppDomain())
            {
                domain.ProcessExit += (s, e) => _SelfDestruct(directoryToDeleteOnExit);
            }
            else
            {
                domain.DomainUnload += (s, e) => _SelfDestruct(directoryToDeleteOnExit);
            }

            domain.UnhandledException += (s, e) => _SelfDestruct(directoryToDeleteOnExit);

            // catch unexpected shutdowns for console applications
            if (Environment.UserInteractive)
            {
                Console.CancelKeyPress += (s, e) => {
                    if (e.SpecialKey == ConsoleSpecialKey.ControlBreak)
                    {
                        _SelfDestruct(directoryToDeleteOnExit);
                        return;
                    }

                    if (e.SpecialKey == ConsoleSpecialKey.ControlC)
                    {
                        _SelfDestruct(directoryToDeleteOnExit);
                        return;
                    }
                }
            }
            ;
        }
            public void Init(AppDomain domain, IPrinter printer = null)
            {
                (new PermissionSet(PermissionState.Unrestricted)).Assert();
                if (_domain != null)
                {
                    throw new InvalidOperationException("CleanupHelper can be used only for a single domain.");
                }
                if (domain == null)
                {
                    throw new ArgumentNullException("domain");
                }
                if (printer == null)
                {
                    printer = new ErrorOnlyPrinter();
                }
                _printer = printer;
                if (domain.IsDefaultAppDomain())
                {
                    //throw new InvalidOperationException("CleanupHelper will not work on the default AppDomain")
                    printer.PrintError("We can't cleanup temp files if you use RazorEngine on the default Appdomain.");
                    printer.PrintError("Create a new AppDomain and use RazorEngine from there!");
                }
                printer.Print("init cleanup helper for {0} in {1} ...", domain.FriendlyName, AppDomain.CurrentDomain.FriendlyName);
                this._domain = domain;

                //_domain.DomainUnload += domain_DomainUnload;
                ObjectHandle handle =
                    Activator.CreateInstanceFrom(
                        _domain, typeof(SubscribeHelper).Assembly.ManifestModule.FullyQualifiedName,
                        typeof(SubscribeHelper).FullName
                    );
                using (var subscribeHelper = (SubscribeHelper)handle.Unwrap())
                {
                    if (System.Runtime.Remoting.RemotingServices.IsTransparentProxy(printer))
                    {
                        subscribeHelper.CheckPrinter(printer);
                    }
                    subscribeHelper.Subscribe(this);
                }
            }
		public void IsDefaultAppDomain ()
		{
			ad = AppDomain.CreateDomain ("ReflectionOnlyGetAssemblies");
			Assert.IsFalse (ad.IsDefaultAppDomain (), "IsDefaultAppDomain");
			// we have no public way to get the default appdomain
		}