首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WebBackgrounder + Ninject

WebBackgrounder + Ninject
EN

Stack Overflow用户
提问于 2012-08-10 16:36:01
回答 1查看 342关注 0票数 0

有没有人有在WebBackgrounder库中使用依赖注入的经验?

最好是我想要避免属性注入。

这是我在App_Start中的WebBackgrounderSetup:

代码语言:javascript
复制
public static class WebBackgrounderSetup
{
    static readonly JobManager _jobManager = CreateJobWorkersManager();

    public static void Start()
    {
        _jobManager.Start();
    }

    public static void Shutdown()
    {
        _jobManager.Dispose();
    }

    private static JobManager CreateJobWorkersManager()
    {
        var jobs = new IJob[]
    {
        new TmdbJob(TimeSpan.FromSeconds(5), TimeSpan.FromSeconds(20))
    };

        var manager = new JobManager(jobs, new SingleServerJobCoordinator());
        manager.Fail(ex => Elmah.ErrorLog.GetDefault(null).Log(new Error(ex)));
        return manager;
    }
}

感谢您的任何意见!

EN

回答 1

Stack Overflow用户

发布于 2012-08-10 16:56:31

我没有使用WebBackgrounder的经验,但是对于每个多线程应用程序的建议都是一样的。基本规则如下:

  • 不将服务(相关性)传递给其他线程,因为服务是(或可能是)依赖于在该线程开始时解析新对象图的thread.
  • Instead,。
  • 对于具有特定于HttpContext的生存期或缓存的相关性(例如每个请求的生活方式),并且需要在后台线程上可用,您将需要将其配置为hibrid生活方式(每个请求和每个线程)。
  • 不会在每个线程上注册这些依赖项。因为ASP.NET被允许在另一个线程上完成请求,而不是在启动该请求的线程上。

你可以在这里找到更多信息:Work with dependency injection in multi-threaded applications。该Wiki页面来自不同的DI框架,但它的大部分内容都适用于Ninject。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11898076

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档