Как настроить TopShelf для запуска службы в качестве ServiceAccount.NetworkService? - PullRequest
4 голосов
/ 14 июля 2010

Как настроить TopShelf для запуска службы в качестве ServiceAccount.NetworkService?

https://github.com/Topshelf/Topshelf

1 Ответ

7 голосов
/ 20 июля 2010

Новое расположение TopShelf, http://github.com/Topshelf/Topshelf,, было обновлено патчем, позволяющим это поведение.

RunConfiguration cfg = RunnerConfigurator.New(x =>
{
    x.AfterStoppingTheHost(h => { Console.WriteLine("AfterStop called invoked, services are stopping"); });

    x.ConfigureService<TownCrier>(s =>
    {
        s.Named("tc");
        s.HowToBuildService(name=> new TownCrier());
        s.WhenStarted(tc => tc.Start());
        s.WhenStopped(tc => tc.Stop());
    });
    // Running as the network service account
    x.RunAsNetworkService();

    x.SetDescription("Sample Topshelf Host");
    x.SetDisplayName("Stuff");
    x.SetServiceName("stuff");
});

Runner.Host(cfg, args);
...