当前位置: 首页 > news >正文

做视频的素材什么网站好保山市网站建设

做视频的素材什么网站好,保山市网站建设,企业做网站费用,如何提高wordpress后台的访问速度简述 有时会遇到需要在IJob实现类中依赖注入其他类或接口的情况,但Quartz的默认JobFactory并不能识别具有有参构造函数的IJob实现类,也就无法进行依赖注入 需要被依赖注入的类: public class TestClass {public TestClass(Type jobType, s…

简述

有时会遇到需要在IJob实现类中依赖注入其他类或接口的情况,但Quartz的默认JobFactory并不能识别具有有参构造函数的IJob实现类,也就无法进行依赖注入

需要被依赖注入的类:

public class TestClass
{public TestClass(Type jobType, string cronExpression){JobType = jobType;CronExpression = cronExpression;}public Type JobType { get; }public string CronExpression { get; }
}

解决方式

1.安装依赖:Quartz、Microsoft.Extensions.DependencyInjection

2.实现接口

        实现IJob接口

    public class MyJob : IJob{private readonly TestClass test;public MyJob(TestClass test){this.test = test;}public Task Execute(IJobExecutionContext context){Console.WriteLine("hello");Console.WriteLine(test.ToString());return Task.CompletedTask;}}

        实现IJobFactory接口

public class MyJobFactory : IJobFactory
{private readonly IServiceProvider _serviceProvider;public MyJobFactory(IServiceProvider serviceProvider){_serviceProvider = serviceProvider;}public IJob NewJob(TriggerFiredBundle bundle, IScheduler scheduler){return _serviceProvider.GetRequiredService(bundle.JobDetail.JobType) as IJob;}public void ReturnJob(IJob job) { }
}

3.将IJob实现类、IJobFactory实现类、需要被依赖注入的类(TestClass)添加进容器

private static ServiceProvider ConfigureServices()
{var services = new ServiceCollection();services.AddSingleton<MyJob>();services.AddSingleton<IJobFactory, MyJobFactory>();services.AddSingleton(new TestClass(jobType: typeof(MyJob),cronExpression: "0/5 * * * * ?"));return services.BuildServiceProvider();
}

4.将scheduler的JobFactory属性替换为IJobFactory实现类的实例

var scheduler = await StdSchedulerFactory.GetDefaultScheduler();// JobFactory替换为IJobFactory实现类的实例
scheduler.JobFactory = serviceProvider.GetService<IJobFactory>();

5.测试

        static async Task Main(string[] args){var serviceProvider = ConfigureServices();var scheduler = await StdSchedulerFactory.GetDefaultScheduler();// JobFactory替换为IJobFactory实现类的实例scheduler.JobFactory = serviceProvider.GetService<IJobFactory>();var jobSchedule = serviceProvider.GetService<TestClass>();var jobDetail = JobBuilder.Create(jobSchedule.JobType).Build();var trigger = TriggerBuilder.Create().WithCronSchedule(jobSchedule.CronExpression).Build();await scheduler.ScheduleJob(jobDetail, trigger);await scheduler.Start();Thread.Sleep(10000);}

 

http://www.yayakq.cn/news/682861/

相关文章:

  • wordpress 留言给站长发邮件怎么制作seo搜索优化
  • 杭州网站提升排名天津建筑信息网
  • 网站开发实用技术网页设计的主要步骤
  • 郑州seo外包v1360优化大师官方版
  • 做网站都有那些步骤南京列表网免费发布信息
  • 外贸网站的推广方法phpcms建站教程
  • 邢台网站建设设计制作建设行业网上报名
  • wordpress网站例金融公司网站建设模板下载
  • m开头的手机网站怎么做做分销如何才能做起来
  • 德阳移动网站建设三明企业网站建设
  • 网站建设全程揭秘pdf网站和虚拟服务器
  • 电商网站建设方向设计网站公司地址
  • 网站开发工作进展情况html5做简单网站
  • 昆明做网站费用购物商城外贸网站建设
  • 怎么创建网站自己创建WordPress 文章 iframe
  • 如何做简单的网站淘宝客怎么建网站
  • 茶叶网站策划书江津网站建设怎么样
  • 哪里有零基础网站建设教学培训上海城隍庙在哪个区
  • 门户网站个人可以做佛山大型网站建设
  • 公司网站建设工作重点有域名自己怎么做网站
  • 网站建设的解决办法WordPress 更改H标签
  • 制作网站好的公司怎么做网站架构
  • 湖南省郴州市宜章县seo教学培训
  • 青岛企业建站程序石家庄免费自助建站模板
  • 网站推广工具网络wordpress浮动小人
  • 域名注册后怎么建网站著名的网络营销案例
  • 网站建设与管理视频在wordpress上添加
  • 专业网站优化no.7 wordpress个
  • 网站可以做固定资产吗网站建设支出
  • 帮做动态头像的网站微信小程序开发流程