Beispiel #1
0
        public static void Start()
        {
            EngineContext.Initialize(false);
            var container = ServiceContainer.Current;

            FilterProviders.Providers.Remove(FilterProviders.Providers.OfType <FilterAttributeFilterProvider>().First());
            FilterProviders.Providers.Add(new UnityFilterAttributeFilterProvider(container));
            DependencyResolver.SetResolver(new UnityDependencyResolver(container));


            DataAnnotationsModelValidatorProvider.AddImplicitRequiredAttributeForValueTypes = false;
            UnityValidatorActivatorFactory validatorFactory = new UnityValidatorActivatorFactory(ServiceContainer.Current);

            ModelValidatorProviders.Providers.Insert(0, new FluentValidationModelValidatorProvider(validatorFactory));
        }
Beispiel #2
0
        public static void Start()
        {
            EngineContext.Initialize(false);
            var container = ServiceContainer.Current;

            FilterProviders.Providers.Remove(FilterProviders.Providers.OfType <FilterAttributeFilterProvider>().First());
            FilterProviders.Providers.Add(new UnityFilterAttributeFilterProvider(container));
            DependencyResolver.SetResolver(new UnityDependencyResolver(container));

            //验证流
            DataAnnotationsModelValidatorProvider.AddImplicitRequiredAttributeForValueTypes = false;
            UnityValidatorActivatorFactory validatorFactory = new UnityValidatorActivatorFactory(ServiceContainer.Current);

            ModelValidatorProviders.Providers.Insert(0, new FluentValidationModelValidatorProvider(validatorFactory));


            //企业库【异常/日志】
            var entLibConfigPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Configs", "EntLibConfig.config");
            var configSouce      = new FileConfigurationSource(entLibConfigPath);
            ExceptionPolicyFactory exceptionPolicyFactory = new ExceptionPolicyFactory(configSouce);

            ExceptionPolicy.SetExceptionManager(exceptionPolicyFactory.CreateManager());

            LogWriterFactory logWriterFactory = new LogWriterFactory(configSouce);

            Logger.SetLogWriter(logWriterFactory.Create());

            //计划任务

            string configurationFilepath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Configs", "quartz.config");
            var    configurationFileMap  = new ExeConfigurationFileMap {
                ExeConfigFilename = configurationFilepath
            };
            var configuration = ConfigurationManager.OpenMappedExeConfiguration(configurationFileMap, ConfigurationUserLevel.None);

            System.Xml.XmlDocument sectionXmlDocument = new System.Xml.XmlDocument();

            sectionXmlDocument.Load(new StringReader(configuration.GetSection("quartz").SectionInformation.GetRawXml()));

            NameValueSectionHandler handler = new NameValueSectionHandler();

            NameValueCollection props = handler.Create(null, null, sectionXmlDocument.DocumentElement) as NameValueCollection;

            ServiceContainer.Current.AddExtension(new QuartzUnityExtension(props));
            EngineContext.Current.Resolve <ISchedulerProvider>("Quartz").Start();
        }