public void stop_stänger_av_den_regelbundna_kontrollen()
        {
            var service = Substitute.For <IApplicationService, IGuardedService>();

            ((IGuardedService)service).IsRunning.Returns(true);
            var locator = Substitute.For <IContainer>();

            locator.ResolveAll <IApplicationService>().Returns(new[] { service });
            var settingsRepos = Substitute.For <ISettingsRepository>();

            settingsRepos.IsEnabled(Arg.Any <Type>()).Returns(true);

            var sut = new ApplicationServiceManager(locator);

            sut.Settings      = settingsRepos;
            sut.CheckInterval = TimeSpan.FromMilliseconds(100);
            sut.StartInterval = TimeSpan.FromMilliseconds(100);
            sut.Start();
            Thread.Sleep(200);
            sut.Stop();
            service.ClearReceivedCalls();
            Thread.Sleep(200);

            var result = ((IGuardedService)service).DidNotReceive().IsRunning;
        }
示例#2
0
        private void RunDemo()
        {
            var adapter = CreateContainer();

            _serviceManager = new ApplicationServiceManager(adapter);
            _serviceManager.ServiceFailed += OnApplicationFailure;
            _serviceManager.Start();

            _jobManager            = new BackgroundJobManager(adapter);
            _jobManager.JobFailed += OnJobFailed;
            _jobManager.Start();


            //Press enter to shut down
            Console.ReadLine();

            _jobManager.Stop();
            _serviceManager.Stop();

            Console.WriteLine("Done, press enter to exit");
            Console.ReadLine();
        }
示例#3
0
 public void Stop()
 {
     _backgroundJobManager.Stop();
     _appManager.Stop();
 }
示例#4
0
 public void Stop()
 {
     _appManager?.Stop();
 }
 public void Stop()
 {
     _backgroundJobManager.Stop();
     _appManager.Stop();
     _shutdownToken.Cancel();
 }