2010-07-14 8 views

Répondre

7

Le nouvel emplacement de Topshelf, http://github.com/Topshelf/Topshelf, a été mis à jour avec un patch permettant ce comportement.

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); 
+3

Vous pouvez également remplacer la configuration à l'aide des options de ligne de commande, tels que --networkservice, --localservice ou --interactive à un nom d'utilisateur invité à entrer/mot de passe lors de l'installation du service. –