我在Windows服务中的Service Stack自主机中做了一些事情。 link给了我一些暗示。但是在代码中,什么是StarterTemplateAppListenerHost呢?
答案 0 :(得分:2)
这是一个扩展AppHostHttpListenerBase
(Source here)的类,用于提供http侦听器和应用程序配置。
public class StarterTemplateAppListenerHost : AppHostHttpListenerBase
{
static readonly IAppSettings AppSettings = new AppSettings();
public StarterTemplateAppListenerHost()
: base(AppSettings.GetString("ServiceName") ?? "StarterTemplate HttpListener", typeof(HelloService).Assembly) { }
public override void Configure(Funq.Container container)
{
container.Register(new TodoRepository());
}
}
这也证明了in the official documentation here。
我只是想知道为什么链接没有OnStart()等
该示例有两种不同的编译模式。当它在debug
中运行时,它不会作为服务运行,而只会使用StarterTemplateAppListenerHost
。
当它以release
模式运行时,它将围绕StarterTemplateAppListenerHost
实例创建服务。 WinService
class通过扩展System.ServiceProcess.ServiceBase
提供了Windows服务所需的OnStart
和OnStop
方法。
因此,要使其作为Windows服务运行,您需要包含以下3个文件: