我试图启动Topshelf的一个实例。我已经下载2.3版的二进制文件并解压所有内容。Topshelf服务/应用卡在“正在创建”
然后我创建了一个空的控制台应用程序。我已经改变了框架.NET 4.0 framework
和下面的代码添加到我的static void Main()
方法:
Host h = HostFactory.New(x =>
{
x.Service< MyApp>(s =>
{
s.SetServiceName("Something");
s.ConstructUsing(name => new MyApp());
s.WhenStarted(tc => tc.Start());
s.WhenStopped(tc => tc.Stop());
});
x.RunAsLocalSystem();
x.SetDescription("Something");
x.SetDisplayName("Something");
x.SetServiceName("Something");
});
h.Run();
的consoleapp运行正常时,我打F5。
然后,我将bin/release输出复制到topshelf/services/test目录并运行Topshelf.Host.exe。这是结果:
如果我指出我的浏览器到仪表板,这是我所看到的:
“测试”服务口口声声说“创建”(等待超过15分钟)。
我在做什么错?我已经尝试了多种控制台应用程序。如果我在我的控制台应用程序上调用install
,则该应用程序会成功注册。
在此先感谢!
您是否记得正确命名配置文件?好像配置文件必须在文件夹后面命名为_exactly_。所以如果该文件夹是测试,配置文件必须是test.config。或者相反,如果配置文件是“MyAssembly.dll.config”,则该文件夹必须被称为“MyAssembly.dll”(是的,包括.dll)。 – 2012-08-20 07:56:26