Windows服务 - 注入回调?

时间:2013-02-13 12:58:06

标签: c# .net topshelf

我已经创建了一个TCP侦听器(网络套接字)实例作为TopShelf Windows服务。由于这个项目是Main()而不是类库的服务,我不确定如何创建一个允许我注入回调的构造函数。

具体来说,这个想法是当TCP侦听器收到消息时,它应该调用注入的回调方法。通常使用类库我会创建一个构造函数作为参数ICallback并相应地实例化。

我可以使用TopShelf服务执行构造函数注入吗?如果是这样,怎么样?

1 个答案:

答案 0 :(得分:1)

有这样的事情:

    HostFactory.New(x =>
                {
                    x.SetDisplayName("Your service");
                    x.SetServiceName("yourservice");
                    x.Service<MyService>(c =>
                    {
                        c.SetServiceName("My service");
                        c.ConstructUsing(name => container.Resolve<MyService>());
                        c.WhenStarted(s => s.Start());
                        c.WhenStopped(s => s.Stop());
                    });

                })
                    .Run();