Ejemplo n.º 1
0
        private void Application_Exit(object sender, ExitEventArgs e)
        {
            var client = _diScope.ResolveOptional <Protocol.V2.Core.Client>();

            client?.Stop();

            _diScope?.Dispose();
        }
Ejemplo n.º 2
0
        private void App_OnExit(object sender, ExitEventArgs e)
        {
            var log = LogFactory.Create(typeof(App));

            _mainWindow?.SaveLayout();

            log.Info("Disposing editor components.");
            _lifetimeScope?.Dispose();
            _container?.Dispose();
            log.Info("Editor components disposed.");

            log.Info("Geisha Editor is being closed.");
        }
        public void Init() {
            var clock = new StubClock();
            var appDataFolder = new StubAppDataFolder(clock);

            _controllerBuilder = new ControllerBuilder();
            _routeCollection = new RouteCollection();
            _modelBinderDictionary = new ModelBinderDictionary();
            _viewEngineCollection = new ViewEngineCollection { new WebFormViewEngine() };

            _container = OrchardStarter.CreateHostContainer(
                builder => {
                    builder.RegisterInstance(new StubShellSettingsLoader()).As<IShellSettingsManager>();
                    builder.RegisterType<RoutePublisher>().As<IRoutePublisher>();
                    builder.RegisterType<ModelBinderPublisher>().As<IModelBinderPublisher>();
                    builder.RegisterType<ShellContextFactory>().As<IShellContextFactory>();
                    builder.RegisterType<StubExtensionManager>().As<IExtensionManager>();
                    builder.RegisterType<StubVirtualPathMonitor>().As<IVirtualPathMonitor>();
                    builder.RegisterInstance(appDataFolder).As<IAppDataFolder>();
                    builder.RegisterInstance(_controllerBuilder);
                    builder.RegisterInstance(_routeCollection);
                    builder.RegisterInstance(_modelBinderDictionary);
                    builder.RegisterInstance(_viewEngineCollection);
                    builder.RegisterAutoMocking()
                        .Ignore<IExtensionFolders>()
                        .Ignore<IRouteProvider>()
                        .Ignore<IHttpRouteProvider>()
                        .Ignore<IModelBinderProvider>()
                        .Ignore<IWorkContextEvents>()
                        .Ignore<IOwinMiddlewareProvider>();
                });
            _lifetime = _container.BeginLifetimeScope();

            _container.Mock<IContainerProvider>()
                .SetupGet(cp => cp.ApplicationContainer).Returns(_container);
            _container.Mock<IContainerProvider>()
                .SetupGet(cp => cp.RequestLifetime).Returns(_lifetime);
            _container.Mock<IContainerProvider>()
                .Setup(cp => cp.EndRequestLifetime()).Callback(() => _lifetime.Dispose());

            _container.Mock<IShellDescriptorManager>()
                .Setup(cp => cp.GetShellDescriptor()).Returns(default(ShellDescriptor));

            _container.Mock<IOrchardShellEvents>()
                .Setup(e => e.Activated());

            _container.Mock<IOrchardShellEvents>()
                .Setup(e => e.Terminating()).Callback(() => new object());
        }
        public void Init() {
            _controllerBuilder = new ControllerBuilder();
            _routeCollection = new RouteCollection();
            _modelBinderDictionary = new ModelBinderDictionary();
            _viewEngineCollection = new ViewEngineCollection { new WebFormViewEngine() };

            _container = OrchardStarter.CreateHostContainer(
                builder => {
                    builder.RegisterInstance(new StubShellSettingsLoader()).As<IShellSettingsManager>();
                    builder.RegisterType<StubContainerProvider>().As<IContainerProvider>().InstancePerLifetimeScope();
                    builder.RegisterType<RoutePublisher>().As<IRoutePublisher>();
                    builder.RegisterType<ModelBinderPublisher>().As<IModelBinderPublisher>();
                    builder.RegisterType<ShellContextFactory>().As<IShellContextFactory>();
                    builder.RegisterType<StubExtensionManager>().As<IExtensionManager>();
                    builder.RegisterInstance(_controllerBuilder);
                    builder.RegisterInstance(_routeCollection);
                    builder.RegisterInstance(_modelBinderDictionary);
                    builder.RegisterInstance(_viewEngineCollection);
                    builder.RegisterAutoMocking()
                        .Ignore<IExtensionFolders>()
                        .Ignore<IRouteProvider>()
                        .Ignore<IModelBinderProvider>();
                });
            _lifetime = _container.BeginLifetimeScope();

            _container.Mock<IContainerProvider>()
                .SetupGet(cp => cp.ApplicationContainer).Returns(_container);
            _container.Mock<IContainerProvider>()
                .SetupGet(cp => cp.RequestLifetime).Returns(_lifetime);
            _container.Mock<IContainerProvider>()
                .Setup(cp => cp.EndRequestLifetime()).Callback(() => _lifetime.Dispose());

            _container.Mock<IShellDescriptorManager>()
                .Setup(cp => cp.GetShellDescriptor()).Returns(default(ShellDescriptor));

            var temp = Path.GetTempFileName();
            File.Delete(temp);
            Directory.CreateDirectory(temp);

            _container.Resolve<IAppDataFolder>()
                .SetBasePath(temp);

            var updater = new ContainerUpdater();
            updater.RegisterInstance(_container).SingleInstance();
            updater.Update(_lifetime);
        }
Ejemplo n.º 5
0
 public static void Stop()
 {
     _rootScope?.Dispose();
     _rootScope = null;
 }
Ejemplo n.º 6
0
 public virtual void Dispose()
 {
     _container?.Dispose();
 }
 private static void DisposeScope(IJob job, ILifetimeScope lifetimeScope)
 {
     if (s_log.IsDebugEnabled)
     {
         s_log.DebugFormat("Disposing Scope 0x{0:x} for Job 0x{1:x}",
             lifetimeScope != null ? lifetimeScope.GetHashCode() : 0,
             job != null ? job.GetHashCode() : 0);
     }
     if (lifetimeScope != null)
         lifetimeScope.Dispose();
 }
Ejemplo n.º 8
0
 public void Dispose()
 {
     containerLifetime?.Dispose();
 }
Ejemplo n.º 9
0
 public void Dispose()
 {
     Logger.Debug("Closing connection");
     _client?.Dispose();
     _containerScope?.Dispose();
 }
Ejemplo n.º 10
0
 public virtual void Reset()
 {
     _runScope?.Dispose(); //dispose of any previous
     _runOptions = _runManager.GetRunOptions();
     _logger.UpdateProcessId(_runOptions.ProcessId);
 }
 public void Dispose()
 {
     _scope?.Dispose();
     _container?.Dispose();
 }
 protected override Task OnCloseAsync(CancellationToken cancellationToken)
 {
     _container?.Dispose();
     return(Task.CompletedTask);
 }
Ejemplo n.º 13
0
        /// <summary>
        /// Wait for all commands/events to be processed before allowing process to exit.
        /// </summary>
        /// <param name="container">The test IoC container.</param>
        private static void WaitForCompletion(ILifetimeScope container)
        {
            var statistics = container.Resolve<Statistics>();

            // Wait for statistics to stop capturing.
            while (statistics.Processing)
                Thread.Sleep(100);

            //Wait for all commands to be processed.
            WaitForCommandBusDrain(container);

            //Wait for all events to be processed.
            WaitForEventBusDrain(container);

            // Stop statistics collection.
            statistics.StopCapture();

            // Wait for all stores to complete any background processing.
            container.Resolve<SqlSnapshotStore>().Dispose();
            container.Resolve<SqlEventStore>().Dispose();
            container.Resolve<SqlSagaStore>().Dispose();

            // Dispose underlying IoC container.
            container.Dispose();
        }
Ejemplo n.º 14
0
 private void ServerOnDisconnected(object sender, EventArgs e)
 {
     childLifetimeScope?.Dispose();
 }
 public void EndMyViewLifetimeScope()
 {
     _myViewLifetimeScope?.Dispose();
 }
Ejemplo n.º 16
0
        protected override async Task OnCloseAsync(CancellationToken cancellationToken)
        {
            await base.OnCloseAsync(cancellationToken);

            _container?.Dispose();
        }
Ejemplo n.º 17
0
 public void Dispose()
 {
     _diScope?.Dispose();
 }
 public virtual void Dispose()
 {
     _container?.Dispose();
     GC.SuppressFinalize(this);
 }
Ejemplo n.º 19
0
 protected override void OnExit(ExitEventArgs e)
 {
     base.OnExit(e);
     iocScope?.Dispose();
 }
Ejemplo n.º 20
0
 /// <summary>
 /// 释放对象
 /// </summary>
 public void Dispose()
 {
     _scope?.Dispose();
 }
Ejemplo n.º 21
0
 public void Dispose() => _lifetimeScope?.Dispose();
Ejemplo n.º 22
0
 public void Dispose()
 {
     _parentScope?.Dispose();
 }
Ejemplo n.º 23
0
 public void Dispose()
 {
     _lifeTimeScope?.Dispose();
 }
 public override void DisposeScope()
 {
     _serviceScope.Dispose();
 }
 public void Cleanup()
 {
     scope?.Dispose();
 }
Ejemplo n.º 26
0
 void DisposeContainer()
 {
     container?.Dispose();
     container = null;
 }
Ejemplo n.º 27
0
 public override void Release()
 {
     _container?.Dispose();
 }
Ejemplo n.º 28
0
        /// <summary>
        /// Executes the task
        /// </summary>
        public void Execute(ILifetimeScope scope = null, bool throwOnError = false)
        {
            this.IsRunning = true;

            scope = scope ?? EngineContext.Current.ContainerManager.Scope();
            var faulted = false;

            try
            {
                var task = this.CreateTask(scope);
                if (task != null)
                {
                    this.LastStartUtc = DateTime.UtcNow;

                    var scheduleTaskService = scope.Resolve<IScheduleTaskService>();
                    var scheduleTask = scheduleTaskService.GetTaskByType(this.Type);

                    if (scheduleTask != null)
                    {
                        //update appropriate datetime properties
                        scheduleTask.LastStartUtc = this.LastStartUtc;
                        scheduleTaskService.UpdateTask(scheduleTask);
                    }

                    //execute task
                    var ctx = new TaskExecutionContext()
                    {
                        LifetimeScope = scope,
                        CancellationToken = new CancellationTokenSource(TimeSpan.FromHours(6.0))	// TODO: make that somewhat configurable (AdminAreaSettings?)
                    };

                    task.Execute(ctx);
                    this.LastEndUtc = this.LastSuccessUtc = DateTime.UtcNow;
                    this.LastError = null;
                }
                else
                {
                    faulted = true;
                    this.LastError = "Could not create task instance";
                }
            }
            catch (Exception ex)
            {
                faulted = true;
                this.Enabled = !this.StopOnError;
                this.LastEndUtc = DateTime.UtcNow;
                this.LastError = ex.Message.Truncate(995, "...");

                //log error
                var logger = scope.Resolve<ILogger>();
                logger.Error(string.Format("Error while running the '{0}' schedule task. {1}", this.Name, ex.Message), ex);
                if (throwOnError)
                {
                    throw;
                }
            }
            finally
            {
                var scheduleTaskService = scope.Resolve<IScheduleTaskService>();
                var scheduleTask = scheduleTaskService.GetTaskByType(this.Type);

                if (scheduleTask != null)
                {
                    // update appropriate properties
                    scheduleTask.LastError = this.LastError;
                    scheduleTask.LastEndUtc = this.LastEndUtc;
                    if (!faulted)
                    {
                        scheduleTask.LastSuccessUtc = this.LastSuccessUtc;
                    }

                    scheduleTaskService.UpdateTask(scheduleTask);
                }

                scope.Dispose();

                this.IsRunning = false;
            }
        }
Ejemplo n.º 29
0
 private void AfterScenario()
 {
     _lifetimeScope?.Dispose();
     _lifetimeScope = null;
 }
Ejemplo n.º 30
0
 public void Dispose()
 {
     Scope?.Dispose();
 }
Ejemplo n.º 31
0
 public void Dispose()
 {
     Instance?.Dispose();
 }
 public void Dispose()
 {
     lifetimeScope?.Dispose();
 }
      void DisposeScope(IJob job, ILifetimeScope lifetimeScope)
      {
          _logDebug(job, string.Format("Disposing Scope 0x{0:x} for Job 0x{1:x}",
              lifetimeScope != null ? lifetimeScope.GetHashCode() : 0,
              job != null ? job.GetHashCode() : 0));
 
          if (lifetimeScope != null)
              lifetimeScope.Dispose();
      }
 public void SetUp()
 {
     _fixture = new ModuleTestHarness();
     _fixture.ClearMessages();
     _lifetimeScope = _fixture.Container.BeginLifetimeScope();
     _lifetimeScope.Dispose();
     _lifetimeScopeBeginningMessage = _fixture.GetSingleMessageOrDefault<LifetimeScopeBeginningMessage>();
     _lifetimeScopeEndingMessage = _fixture.GetSingleMessageOrDefault<LifetimeScopeEndingMessage>();
 }
Ejemplo n.º 35
0
        public static WorkspaceViewModel Create(ILifetimeScope scope, IZetboxContext ctx)
        {
            if (scope == null) throw new ArgumentNullException("scope");
            if (ctx == null) throw new ArgumentNullException("ctx");

            var vmf = scope.Resolve<IViewModelFactory>();

            var ws = vmf.CreateViewModel<ObjectEditor.WorkspaceViewModel.Factory>().Invoke(ctx, null);
            ws.Closed += (s, e) => scope.Dispose();
            return ws;
        }
Ejemplo n.º 36
0
 /// <summary>
 ///     Called when an object is no longer needed. Called just before
 ///     <see cref="System.IDisposable.Dispose"/>
 ///     if the class also implements that.
 /// </summary>
 public Task DisposeAsync( )
 {
     LifetimeScope?.Dispose( );
     _container?.Dispose( );
     return(Task.CompletedTask);
 }
Ejemplo n.º 37
0
 protected override void OnExit(ExitEventArgs e)
 {
     base.OnExit(e);
     try { _scope?.Dispose(); }
     catch { }
 }
Ejemplo n.º 38
0
 public void TestCleanup()
 {
     scope.Dispose();
 }