dw做网站怎么排版,广州招聘网最新招聘,人事管理软件,wordpress add_option内容被转义概述Autofac 是一款超赞的.NET IoC 容器 . 它管理类之间的依赖关系, 从而使 应用在规模及复杂性增长的情况下依然可以轻易地修改 . 它的实现方式是将常规的.net类当做 组件 处理。我们通常在一些情况下需要软件具有一个自动执行某些任务的功能#xff0c;但是又不希望直接启动… 概述Autofac 是一款超赞的.NET IoC 容器 . 它管理类之间的依赖关系, 从而使 应用在规模及复杂性增长的情况下依然可以轻易地修改 . 它的实现方式是将常规的.net类当做 组件 处理。我们通常在一些情况下需要软件具有一个自动执行某些任务的功能但是又不希望直接启动软件或者每次都要手动的来启动软件这时我们可可以考虑到windows服务了。下面我们来看下在windows服务quartz任务下如何使用注入信息autofac以实现和web其他项目使用公共类库。主要实现1、Program下Main启动执行Bootstrapper。 //AutofacAutofacConfig.Bootstrapper();2、实现基类AutofacConfig.Container.BeginLifetimeScope() public void Execute(IJobExecutionContext context){try{logger.Info(${GetLoggerName()} Start DoJob);//設定 Settings (JobDataMap)Settings context.JobDetail.JobDataMap;//建立 Autofac lifetime scopeusing (ILifetimeScope scope AutofacConfig.Container.BeginLifetimeScope()){DoJob(context, scope, null);} }catch (Exception ex){logger.Error(ex, ex.Message);//發送錯誤訊息給 ITSendMailByAlert(Unhandle, ex.ToString());}finally{logger.Info(${GetLoggerName()} Finish DoJob);}}
3、各自业务的实现DoJob(IJobExecutionContext context, ILifetimeScope scope, string[] args) public class CampaignPermissionJob : BaseJob{public override void DoJob(IJobExecutionContext context, ILifetimeScope scope, string[] args){//Login Statusvar setLoginStatus scope.ResolveISetLoginStatus();var campaignPermissionService scope.ResolveICampaignPermissionService();var queueList campaignPermissionService.GetQueueList();foreach (var queue in queueList){setLoginStatus.SetAccount(queue.Account);campaignPermissionService.Execute(queue);}}}