public void OpenGenericDependenciesTest() { DependencyConfig dependencies = new DependencyConfig(); dependencies.Register(typeof(IGenericService <>), typeof(GenericServiceImpl <>), LifeTime.Instance); dependencies.Register <IGenericRepository, GenericRepositoryImpl>(LifeTime.Instance); DependencyProvider provider = new DependencyProvider(dependencies); GenericServiceImpl <IGenericRepository> service = (GenericServiceImpl <IGenericRepository>)provider.Resolve <IGenericService <IGenericRepository> >(); Assert.AreEqual(service.GetType(), typeof(GenericServiceImpl <IGenericRepository>)); Assert.IsNotNull(service.constructorCheck); }
public void GenericDependenciesTest() { DependencyConfig dependencies = new DependencyConfig(); dependencies.Register <IRepository, RepositoryImpl>(LifeTime.Instance); dependencies.Register <IService <IRepository>, ServiceImpl <IRepository> >(LifeTime.Instance); DependencyProvider provider = new DependencyProvider(dependencies); var service = (ServiceImpl <IRepository>)provider.Resolve <IService <IRepository> >(); Assert.IsNotNull(service.checkConstructor); Assert.AreEqual(service.checkConstructor.GetType(), typeof(RepositoryImpl)); Assert.AreEqual(service.GetType(), typeof(ServiceImpl <IRepository>)); }
public void ManyImplementationTest() { DependencyConfig dependencies = new DependencyConfig(); dependencies.Register <IService, ServiceImpl1>(LifeTime.Instance); dependencies.Register <IService, ServiceImpl2>(LifeTime.Instance); DependencyProvider provider = new DependencyProvider(dependencies); var services = provider.Resolve <IEnumerable <IService> >() as Array; Assert.AreEqual(services.Length, 2); Assert.AreEqual(services.GetValue(0).GetType(), typeof(ServiceImpl1)); Assert.AreEqual(services.GetValue(1).GetType(), typeof(ServiceImpl2)); }
/// <summary> /// 启用任务调度 /// 启动调度时会把任务表中状态为“执行中”的任务加入到任务调度队列中 /// </summary> public static void StartScheduler() { try { DependencyConfig.Register(); using (var timeScope = DependencyConfig.Container.BeginLifetimeScope()) { _jobTaskRepository = timeScope.Resolve <IJobTaskRepository>(); if (TaskManager.scheduler != null) { //获取所有执行中的任务 List <JobTask> listTask = _jobTaskRepository.GetList(); if (listTask != null && listTask.Count > 0) { foreach (JobTask taskUtil in listTask) { try { ScheduleJob(taskUtil); } catch (Exception e) { LogHelper.WriteLog(string.Format("任务“{0}”启动失败!", taskUtil.TaskName), e); } } } LogHelper.WriteLog("任务调度启动成功!"); } } } catch (Exception ex) { LogHelper.WriteLog("任务调度启动失败!", ex); } }
public void CycleDependecies() { DependencyConfig dependencies = new DependencyConfig(); dependencies.Register <IHuman, Woman>(LifeTime.Instance); dependencies.Register <IAnimal, Cat>(LifeTime.Instance); DependencyProvider provider = new DependencyProvider(dependencies); Woman service = (Woman)provider.Resolve <IHuman>(); //IHuman->IAnimal (NOT NULL) Assert.IsNotNull(service.getValue()); //IHuman->IAnimal->IHuman (NULL) Assert.IsNull(service.myCat.getValue()); }
private void btn_Stock_Click(object sender, RoutedEventArgs e) { DependencyConfig.Register(); var job = new StockJob(); job.ExcuteTask(); }
public void ProviderExceptionTests() { DependencyConfig dependencies = new DependencyConfig(); //Не добавлена зависимость DependencyProvider provider = new DependencyProvider(dependencies); KeyNotFoundException ex = Assert.Throws <KeyNotFoundException>(() => provider.Resolve <IService>()); //Не добавлена зависимость,случай множества имплементаций KeyNotFoundException ex2 = Assert.Throws <KeyNotFoundException>(() => provider.Resolve <IEnumerable <IService> >()); //Не добавлена зависимость, Generic //dependencies.Register<IRepository, RepositoryImpl>(LifeTime.Instance); dependencies.Register <IService <IRepository>, ServiceImpl <IRepository> >(LifeTime.Instance); KeyNotFoundException ex3 = Assert.Throws <KeyNotFoundException>(() => provider.Resolve <IService <IRepository> >()); //Не добавлена зависимость,случай OpenGeneric //dependencies.Register(typeof(IGenericService<>), typeof(GenericServiceImpl<>), LifeTime.Instance); //dependencies.Register<IGenericRepository, GenericRepositoryImpl>(LifeTime.Instance); KeyNotFoundException ex4 = Assert.Throws <KeyNotFoundException>(() => provider.Resolve <IGenericService <IGenericRepository> >()); }
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); DependencyConfig.Register(); }
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); RouteConfig.RegisterRoutes(RouteTable.Routes); DependencyConfig.Register(); Database.SetInitializer(new WebStoreContextInitializer()); }
protected override void RegisterApplicationComponents(IApplicationBuilder app, IKernel kernel) { app.UseMvc(routes => { routes.MapRoute("default", "{controller=Home}/{action=Index}/{id?}"); }); DependencyConfig.Register(kernel); DependencyResolver.SetResolver(kernel); }
/// <summary> /// Configures services including dependencies. /// </summary> /// <param name="services"><see cref="IServiceCollection"/> instance.</param> /// <remarks>This method gets called by the runtime. Use this method to add services to the container.</remarks> public IServiceProvider ConfigureServices(IServiceCollection services) { // Add framework services. services.AddMvc(); // Add dependencies. var container = DependencyConfig.Register(services, this.HostingEnvironment, this.Configuration); return(container.Resolve <IServiceProvider>()); }
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); DependencyConfig.Register(); Database.SetInitializer(new WebStoreDbInitializer()); }
public void SimpleDependencyTest() { DependencyConfig dependencies = new DependencyConfig(); dependencies.Register <IService, ServiceImpl1>(LifeTime.Singleton); DependencyProvider provider = new DependencyProvider(dependencies); var service1 = provider.Resolve <IService>(); Assert.IsNotNull(service1); }
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); Database.SetInitializer(new DropCreateDatabaseAlways <FacebookContext>()); DependencyConfig.Register(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); AuthConfig.RegisterAuth(); AutoMapperConfig.Configure(); }
protected override void OnStart(string[] args) { IoC.InitializeWith(new FactoryDependencyManager()); EngineContext.Initialize(false); DependencyConfig.Register(); SAPInterfaceTimer.Elapsed += SapInterface_Elapsed; SAPInterfaceTimer.AutoReset = false; SAPInterfaceTimer.Interval = SettingService.GetSettingValueInteger("SAPInterface.TimerDuration"); SAPInterfaceTimer.Enabled = true; }
public void Configuration(IAppBuilder app) { var config = new HttpConfiguration(); WebApiConfig.Register(config); SwaggerConfig.Register(config); DependencyConfig.Register(config); AuthZeroConfig.ConfigureAuthZero(app); app.UseCors(CorsOptions.AllowAll); app.UseWebApi(config); }
public void ConfigExceptionTests() { DependencyConfig dependencies = new DependencyConfig(); dependencies.Register <IRepository, RepositoryImpl>(LifeTime.Instance); ArgumentException ex = Assert.Throws <ArgumentException>(() => dependencies.Register <IRepository, RepositoryImpl>(LifeTime.Instance)); Assert.AreEqual("Such dependency is already registered", ex.Message); ArgumentException ex2 = Assert.Throws <ArgumentException>(() => dependencies.Register(typeof(IRepository), typeof(ServiceImpl1), LifeTime.Instance)); Assert.AreEqual("TImplementation doesn't implement TDependency interface", ex2.Message); ArgumentException ex3 = Assert.Throws <ArgumentException>(() => dependencies.Register(typeof(IService), typeof(AbstractClass), LifeTime.Instance)); Assert.AreEqual("TImplementation can't be an abstract class", ex3.Message); ArgumentException ex4 = Assert.Throws <ArgumentException>(() => dependencies.Register(typeof(IService), typeof(NonConstructor), LifeTime.Instance)); Assert.AreEqual("TImplementation doesn't have any public constructors", ex4.Message); }
public WebServerFactory(int port) { _baseAddress = "http://localhost:" + port; var config = new HttpSelfHostConfiguration(_baseAddress); JsonConfig.Register(config); RouteConfig.Register(config); DependencyConfig.Register(config); DbConfig.Migrate(); _server = new HttpSelfHostServer(config); }
/// <summary> /// Job完成时调用 /// </summary> /// <param name="trigger">触发器</param> /// <param name="context">上下文</param> /// <param name="triggerInstructionCode"></param> public void TriggerComplete(ITrigger trigger, IJobExecutionContext context, SchedulerInstruction triggerInstructionCode) { DependencyConfig.Register(); using (var timeScope = DependencyConfig.Container.BeginLifetimeScope()) { var jobTaskRepository = timeScope.Resolve <IJobTaskRepository>(); var jobTask = jobTaskRepository.GetByTaskId(trigger.JobKey.Name); if (jobTask != null) { jobTask.LastRunTime = TimeZoneInfo.ConvertTimeFromUtc(context.NextFireTimeUtc.Value.DateTime, TimeZoneInfo.Local); jobTaskRepository.SaveAsync(jobTask); } } }
/// <summary> /// The main entry point for the application. /// </summary> static void Main() { ServiceBase[] ServicesToRun; ServicesToRun = new ServiceBase[] { new SAPInterface() }; IoC.InitializeWith(new FactoryDependencyManager()); EngineContext.Initialize(false); DependencyConfig.Register(); ServiceBase.Run(ServicesToRun); }
static void Main(string[] args) { IoC.InitializeWith(new FactoryDependencyManager()); DependencyConfig.Register(); while (true) { BAPI newBapi = new BAPI(); Console.WriteLine("Interface SAP Iniciada, buscando pagos......"); newBapi.Init(); System.Threading.Thread.Sleep(10000); } }
public static async void Start() { var log = LogManager.GetLogger("TaskManager"); log.Info("任务开始"); try { DependencyConfig.Register(); log.Info("完成ioc注入"); var schedulerFactory = new StdSchedulerFactory(); scheduler = await schedulerFactory.GetScheduler(); log.Info("创建scheduler"); var xmlDocument = new XmlDocument(); var taskPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "TasksSchedule.xml"); xmlDocument.Load(taskPath); log.Info("加载tasksSchedule.xml"); var nodes = xmlDocument.GetElementsByTagName("Task"); log.Info("任务数量:" + nodes.Count); var taskIndex = 1; log.Info("开始启动任务!"); foreach (XmlNode node in nodes) { var taskname = node.Attributes["name"].Value; var cronExpression = node.Attributes["cronExpression"].Value; log.Info(string.Format("正在启动任务{0},任务时间Cron表达式:{1}。", taskname, cronExpression)); IJobDetail jobDetail = new JobDetailImpl("task" + taskIndex, "group" + taskIndex, Assembly.GetExecutingAssembly().GetType(taskname)); var trigger = new CronTriggerImpl("trigger" + taskIndex, "group" + taskIndex, cronExpression); await scheduler.ScheduleJob(jobDetail, trigger); taskIndex++; } log.Info("任务启动完成!"); if (!scheduler.IsStarted) { //添加全局监听 scheduler.ListenerManager.AddTriggerListener(new CustomTriggerListener(), GroupMatcher <TriggerKey> .AnyGroup()); } await scheduler.Start(); } catch (Exception ex) { log.Error(ex.ToString()); } }
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); GlobalConfiguration.Configure(WebApiConfig.Register); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); //配置 DependencyConfig.Register(); //配置 // DependencyConfig.Register(); //配置ef Locator.Current.Register <IBatchRunner>(() => new CustomMySqlBatchRunner()); }
/// <summary> /// //Trigger触发后,job执行时调用本方法。true即否决,job后面不执行。 /// </summary> /// <param name="trigger"></param> /// <param name="context"></param> /// <returns></returns> public bool VetoJobExecution(ITrigger trigger, IJobExecutionContext context) { DependencyConfig.Register(); using (var timeScope = DependencyConfig.Container.BeginLifetimeScope()) { var jobTaskRepository = timeScope.Resolve <IJobTaskRepository>(); var jobTask = jobTaskRepository.GetByTaskId(trigger.JobKey.Name); if (jobTask != null) { jobTask.RecentRunTime = DateTime.Now; jobTask.LastRunTime = TimeZoneInfo.ConvertTimeFromUtc(context.NextFireTimeUtc.Value.DateTime, TimeZoneInfo.Local); jobTaskRepository.SaveAsync(jobTask); } return(false); } }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { // Adds services for controllers to the specified Microsoft.Extensions.DependencyInjection.IServiceCollection. // This method will not register services used for views or pages. services.AddControllers(setupAction => { // Determines if a 406 response code (an unsupprted request response type) is returned // by the API when requested by the consumer. setupAction.ReturnHttpNotAcceptable = true; }).AddNewtonsoftJson(setupAction => { // For converting JSON values to Microsoft.AspNetCore.JsonPatch.JsonPatchDocument setupAction.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); }) .AddXmlDataContractSerializerFormatters() // Adds the XML API response format, if requested. JSON is supported by default. .ConfigureApiBehaviorOptions(setupAction => { setupAction.InvalidModelStateResponseFactory = context => { var problemDetails = new ValidationProblemDetails(context.ModelState) { Type = "modelvalidationproblem", Title = "One or more model validation errors occurred.", Status = StatusCodes.Status422UnprocessableEntity, Detail = "See the errors property for details.", Instance = context.HttpContext.Request.Path }; problemDetails.Extensions.Add("traceId", context.HttpContext.TraceIdentifier); return(new UnprocessableEntityObjectResult(problemDetails) { ContentTypes = { "application/problem+json" } }); }; }); // For catching, logging and returning appropriate controller related errors services.AddScoped <ApiExceptionFilter>(); // Register the shared dependencies in the Mapping project DependencyConfig.Register(services, Configuration, System.Reflection.Assembly.GetEntryAssembly().GetName().Name); }
protected override void RegisterApplicationComponents(IApplicationBuilder app, IKernel kernel) { app.UseMvc(routes => { routes.MapRoute("default", "{controller=Home}/{action=Index}/{id?}"); }); DependencyConfig.Register(kernel); DependencyResolver.SetResolver(kernel); var tuple = kernel.Get <Tuple <IContextStorage, IConnectionContext> >(); var storage = tuple.Item1; var context = tuple.Item2; using (context.Scope()) { storage.Get().Database.Migrate(); } }
// This method gets called by the runtime. Use this method to add services to the container.y public void ConfigureServices(IServiceCollection services) { // Add Cors services.AddCors(); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2) .AddFluentValidation(fvc => fvc.RegisterValidatorsFromAssemblyContaining <Startup>()); // Auto Mapper Configurations var mappingConfig = new MapperConfiguration(mc => { mc.AddProfile(new HiveManagementMappingProfile()); }); services.AddAutoMapper(AppDomain.CurrentDomain.GetAssemblies()); DependencyConfig.Register(services); SwagerGenConfig.Register(services); }
protected void Application_Start() { IoC.InitializeWith(new FactoryDependencyManager()); EngineContext.Initialize(false); ViewEngines.Engines.Clear(); ViewEngines.Engines.Add(new RazorViewEngine()); AreaRegistration.RegisterAllAreas(); GlobalConfiguration.Configure(WebApiConfig.Register); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); DependencyConfig.Register(); MvcHandler.DisableMvcResponseHeader = true; //ValueProviderFactories.Factories.Remove(ValueProviderFactories.Factories.OfType<JsonValueProviderFactory>().FirstOrDefault()); //ValueProviderFactories.Factories.Add(new JsonNetValueProviderFactory()); }
protected void Application_Start() { GlobalConfiguration.Configure(WebApiConfig.Register); RouteConfig.RegisterRoutes(RouteTable.Routes); DependencyConfig.Register(GlobalConfiguration.Configuration); }
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); RouteConfig.RegisterRoutes(RouteTable.Routes); DependencyConfig.Register(); }