我正在编写基于TopShelf的简单Windows服务。如何将我的应用程序安装为服务?我试图执行SpyService.exe install
,但它不起作用。将控制台应用程序安装为Windows服务
下面两种配置服务的方式有什么区别?
var cfg = RunnerConfigurator.New(
x =>
{
x.ConfigureService<SpyService>(s =>
{
s.Named("SpyService");
s.HowToBuildService(name => new SpyService());
s.WhenStarted(tc => {
XmlConfigurator.ConfigureAndWatch(new FileInfo(".\\log4net.config"));
tc.Start(); });
s.WhenStopped(tc => tc.Stop());
});
x.RunAsFromInteractive();
x.SetDescription("Сервис логирования действий пользователя.");
x.SetDisplayName("SpyService");
x.SetServiceName("SpyService");
});
Runner.Host(cfg, args);
和
var host = HostFactory.New(x =>
{
x.Service<SpyService>(s =>
{
s.SetServiceName("SpyService");
s.ConstructUsing(name => new SpyService());
s.WhenStarted(service =>
{
XmlConfigurator.ConfigureAndWatch(new FileInfo(".\\log4net.config"));
service.Start();
});
s.WhenStopped(service => service.Stop());
});
x.RunAsLocalSystem();
x.SetDescription("Сервис логирования действий пользователя.");
x.SetDisplayName("SpyService");
x.SetServiceName("SpyService");
});
host.Run();
我注意到,如果我使用第二种方法已成功安装该服务,但无法下手x.RunAsFromInteractive()
的服务作为第一种方式。
错误信息是什么? – 2011-03-27 21:38:03
你运行过那个命令吗? – 2011-03-27 21:46:24
嘿伙计!原谅我以这种方式问你,但我看不到其他交流方式。请在mysql日期问题中取消删除您的回答!没有错。 – 2011-03-31 07:26:23