小编Van*_*ick的帖子

Quartz.net和Ninject:如何使用NInject将实现绑定到我的作业

我实际上在ASP.Net MVC 4 Web应用程序中工作,我们使用NInject进行依赖注入.我们还使用基于Entity框架的UnitOfWork和Repositories.

我们想在我们的应用程序中使用Quartz.net定期启动一些自定义作业.我希望NInject自动绑定我们工作中需要的服务.

它可能是这样的:

public class DispatchingJob : IJob
{
    private readonly IDispatchingManagementService _dispatchingManagementService;

    public DispatchingJob(IDispatchingManagementService dispatchingManagementService )
    {
         _dispatchingManagementService = dispatchingManagementService ;
    }

    public void Execute(IJobExecutionContext context)
    {
         LogManager.Instance.Info(string.Format("Dispatching job started at: {0}", DateTime.Now));
        _dispatchingManagementService.DispatchAtomicChecks();
        LogManager.Instance.Info(string.Format("Dispatching job ended at: {0}", DateTime.Now));
    }
}
Run Code Online (Sandbox Code Playgroud)

到目前为止,在我们的NInjectWebCommon绑定中配置如下(使用请求范围):

     kernel.Bind<IDispatchingManagementService>().To<DispatchingManagementService>();
Run Code Online (Sandbox Code Playgroud)

是否可以使用NInject将正确的实现注入我们的自定义作业?怎么做?我已经阅读了很少关于堆栈溢出的帖子,但是我需要一些建议和一些使用NInject的例子.

asp.net asp.net-mvc ninject quartz.net

3
推荐指数
1
解决办法
3595
查看次数

标签 统计

asp.net ×1

asp.net-mvc ×1

ninject ×1

quartz.net ×1