将Ninject与Windows服务一起使用

Bud*_*Joe 18 c# windows-services ninject

使用Ninject和Windows服务的任何好例子?我不确定我需要什么扩展.另外,不确定作文根应该是什么?在那里使用Ninject与Windows服务的任何好例子?

Bro*_*ass 19

在依赖注入方面,Windows服务与常规命令行应用程序没有太大差别.直接的组合根是你的Main方法.

我通常这样做的方法是在StandardKernel那里创建一个模块,在其中解析我的依赖项.然后使用kernel.Get来解决顶级依赖关系 - 其他一切将从那里开始:

static void Main(string[] args)
{
    var kernel = new StandardKernel(new FooModule());
    var barDependency = kernel.Get<Bar>();

    System.ServiceProcess.ServiceBase[] ServicesToRun;
    ServicesToRun = new ServiceBase[] { new FooService(barDependency) };
    System.ServiceProcess.ServiceBase.Run(ServicesToRun);
}
Run Code Online (Sandbox Code Playgroud)