Exemplo n.º 1
0
        public Application(string name, string pathToApp, string executable, RunMode runMode = RunMode.AppDomain)
        {
            this.name = name;
            this.runMode = runMode;

            appCopy = new AppCopy(cachePath, pathToApp, executable);
            watcher = new AppWatcher(pathToApp);
            switch (runMode)
            {
                case RunMode.AppDomain:
                    runtime = new AppDomainRuntime(name, pathToApp, executable, appCopy.ShadowPath);
                    break;
                case RunMode.Process:
                    runtime = new ProcessRuntime(name, pathToApp, executable, appCopy.ShadowPath);
                    break;
                default:
                    throw new InvalidOperationException($"Unknown runmode, {runMode}");
            }

            watcher.AppChanged += (o, e) =>
            {
                Stop();
            };
            watcher.AfterQuietPeriod += (o, e) =>
            {
                Start();
            };
        }
Exemplo n.º 2
0
 public AppWatcherTests()
 {
     subdirectory = Guid.NewGuid().ToString();
     Directory.CreateDirectory(FullPath);
     watcher = new AppWatcher(FullPath, 0.01);
 }