什么是服务栈中的StarterTemplateAppListenerHost?

时间:2014-05-15 18:43:18

标签: servicestack

我在Windows服务中的Service Stack自主机中做了一些事情。 link给了我一些暗示。但是在代码中,什么是StarterTemplateAppListenerHost呢?

1 个答案:

答案 0 :(得分:2)

这是一个扩展AppHostHttpListenerBaseSource 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服务所需的OnStartOnStop方法。


因此,要使其作为Windows服务运行,您需要包含以下3个文件: