1

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

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

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

4

1 回答 1

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();
于 2013-02-13T14:22:15.310 回答