示例#1
0
        private void OnTimer(object sender, ElapsedEventArgs args)
        {
            AppDomain.CurrentDomain.UnhandledException +=
                (s, a) => Log.Fatal(string.Format("Unhandled Exception from {0}", s), a.ExceptionObject as Exception);

            var retentionTimeSpan = GetConfigurationParameter(
                ConfigKeyRetentionPeriodTimespan,
                TimeSpan.Parse);

            var cutoffTime    = DateTime.Now.Subtract(retentionTimeSpan);
            var rootDirectory = GetRootDirectory();

            var container = ContainerManager.GetContainer();
            var deleter   = container.Resolve <IImageDeleter>();

            if (this.deleteRunning)
            {
                Log.InfoFormat(
                    "Delete is running skipping starting a new delete. Consider raising the {0} and restarting the service",
                    ConfigKeyPeriodTimespan);
                return;
            }

            Log.InfoFormat("Begining deletion of images older than {0} from root {1}", cutoffTime, rootDirectory);
            this.deleteRunning = true;
            deleter.Run(cutoffTime, rootDirectory.FullName);
            this.deleteRunning = false;
        }
        public static BootConfigure MvcUseContainerResolver(this BootConfigure configure)
        {
            IDependencyResolver resolver = new ContainerDependencyResolver(ContainerManager.GetContainer());

            DependencyResolver.SetResolver(resolver);

            return(configure);
        }
示例#3
0
 public void Start()
 {
     _container = ContainerManager.GetContainer();
     _storage   = _container.Resolve <IDataStorage>();
     _providers = _container.Resolve <ProvidersManager>();
     _settings  = _container.Resolve <ISettingsStorage>();
     userId     = Guid.Parse("bd0b506b-1bf4-449b-975c-15964d1dca6e");
 }
示例#4
0
            public void CanRestoreCreatedContainer()
            {
                ContainerManager.RestoreContainers(TempDirectory, SecurityGroupName);

                var client = ContainerManager.GetContainer(Handle);

                Assert.NotNull(client);
            }
示例#5
0
            public async Task RestoredCanBeDestroyed()
            {
                ContainerManager.RestoreContainers(TempDirectory, SecurityGroupName);

                var client = ContainerManager.GetContainer(Handle);

                await client.Destroy();

                Assert.False(Directory.Exists(ContainerPath));
            }
示例#6
0
        private void mainMapControl_OnSelectionChanged(object sender, EventArgs e)
        {
            // if (EditingAttributeForm.Instance.Visible)
            // {
            //     EditingAttributeForm.Instance.ReFreshData();
            // }
            var eventAggreator = ContainerManager.GetContainer().Resolve <IEventAggregator>();

            eventAggreator.Publish(new SelectFeatureEvent(null));//发布选择要素事件
            //AttributeEditCommand cmd = new AttributeEditCommand();
            //cmd.ShowFeatureAttribute();
        }
示例#7
0
        public MapViewerForm()
        {
            InitializeComponent();

            _mainUnitOfWork   = ContainerManager.GetContainer(ContainerNames.Main).Resolve <IUnitOfWork>();
            _componentBuilder = ContainerManager.GetContainer(ContainerNames.Main).Resolve <IComponentBuilder>();
            IServiceProvider serviceProvider = new DelegateServiceLocator(GetServiceByTypeAndName, GetAllServicesByType);

            _componentContext = new ComponentContext(serviceProvider, components);

            BindToMap();
            _engineEditor    = new EngineEditorClass();
            _eventAggregator = ContainerManager.GetContainer().Resolve <IEventAggregator>();
            InitEvent();//订阅事件
        }
        public static Container AddMinionInject(this IServiceCollection services, string containerName = null)
        {
            _containerName = containerName;
            var container = ContainerManager.GetContainer(_containerName);
            var activator = new MinionInjectActivator(container);

            services.AddSingleton <IControllerActivator>(activator);
            services.AddSingleton <IViewComponentActivator>(activator);

            container.Populate(services);
            container.RegisterMvcControllers();
            container.RegisterMvcViewComponents();

            return(container);
        }
示例#9
0
        /// <summary>
        /// 订阅事件
        /// </summary>
        private void InitEvent()
        {
            var eventAggreator = ContainerManager.GetContainer().Resolve <IEventAggregator>();

            eventAggreator.Subscribe <StartStopEditEvent>(StartStopEdit);                       //订阅 启动停止编辑事件
            eventAggreator.Subscribe <TargetLayerChangedEvent>(TargetLayerChanged);             //订阅 当前编辑图层发生改变事件
            eventAggreator.Subscribe <ChangeActiveButtonEvent>(ChangeActiveButton);             //订阅 编辑工具栏当前功能按钮发生改变事件
            eventAggreator.Subscribe <ChangeButtonCheckedStateEvent>(ChangeButtonCheckedState); // 订阅 编辑工具栏中BarCheckItem的选中状态发生改变事件
            eventAggreator.Subscribe <ChangeBarCheckGroupEnableEvent>(ChangeButtonGroupEnable); //订阅 编辑工具栏中特定分组BarCheckItem的可用性发生改变事件
            //to do:save edits at regular time
            var value = ApplicationContext.GetParameterValue("autoSaveInterval", "3");

            _timer = new Timer(Convert.ToDouble(value) * 60000)
            {
                AutoReset = false
            };
            _timer.Elapsed += SaveEditer;
        }
示例#10
0
        public IList <ICalendarProvider> GetCalendarProviders()
        {
            var list      = new List <ICalendarProvider>();
            var providers = Assembly.GetExecutingAssembly().GetTypes();

            if (providers.Any())
            {
                var container = ContainerManager.GetContainer();
                foreach (var provider in providers)
                {
                    if (provider.GetInterfaces().Contains(typeof(ICalendarProvider)) && provider.IsClass)
                    {
                        list.Add((ICalendarProvider)container.Resolve(provider));
                    }
                }
            }
            return(list);
        }
示例#11
0
        static void Main(string[] args)
        {
            //Countries.WriteCountries();
            var            sourceFile     = Path.Combine(Environment.CurrentDirectory, "CountriesandStatus.txt");
            CountryManager countryFactory = new CountryManager(sourceFile);

            try
            {
                Container container = ContainerManager.GetContainer(countryFactory);
                Console.WriteLine($"{container.CountryName} - {container.IsLoaded}");
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }

            Console.ReadLine();
        }
示例#12
0
        /// <summary>
        /// 负责调用autofac框架实现业务逻辑层和数据仓储层程序集中的类型对象的创建
        /// 负责创建MVC控制器类的对象(调用控制器中的有参构造函数),接管DefaultControllerFactory的工作
        /// </summary>
        public static void Register()
        {
            ContainerManager manager = new ContainerManager();

            manager.BeforeRegister += (builder) =>
            {
                builder.RegisterControllers(typeof(MvcApplication).Assembly); // 注册Mvc控制器实例
                ILoggerFactory factory = new LoggerFactory()
                {
                    UseConfig = true
                };
                builder.RegisterInstance(factory).As <ILoggerFactory>().SingleInstance();
                builder.RegisterInstance(factory.CreateLogger("Logger")).As <ILogger>().SingleInstance();
            };
            manager.Start();
            ////builder.RegisterFilterProvider();
            DependencyResolver.SetResolver(new AutofacDependencyResolver(ContainerManager.GetContainer()));
            //将MVC的控制器对象实例 交由autofac来创建
            // ControllerBuilder.Current.SetControllerFactory(new AutofacControllerFactory());
        }
示例#13
0
        private void OnTimer(object sender, ElapsedEventArgs args)
        {
            var retentionTimeSpan = GetConfigurationParameter(
                ConfigKeyRetentionPeriodTimespan,
                s =>
            {
                TimeSpan timeSpan;
                TimeSpan.TryParse(s, out timeSpan);
                return(timeSpan);
            });

            var cutoffTime    = DateTime.Now.Add(retentionTimeSpan);
            var rootDirectory = GetRootDirectory();

            var container = ContainerManager.GetContainer();
            var deleter   = container.Resolve <IImageDeleter>(
                new TypeParameterOverrides(cutoffTime),
                new TypeParameterOverrides(rootDirectory));

            Log.InfoFormat("Beggining deletion of images older than {0} from root {1}", cutoffTime, rootDirectory);

            deleter.Run();
        }
示例#14
0
        public static IApplicationBuilder UseMinionInject(this IApplicationBuilder app)
        {
            var container = ContainerManager.GetContainer(_containerName);

            return(app.UseMiddleware <MinionInjectScopedMiddleware>(container));
        }