对于Windows Service 的部署, 推荐使用
TopShelf 创建 Windows Service。它从根本上简化了Windows Service 的托管。
最快的方式入门TopShelf 是创建一个控制台程序,它长得像下面的样子:
Program.cs
1 2
| using Akka.Actor; using Topshelf;
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| class Program { static void Main(string[] args) { HostFactory.Run(x => { x.Service<MyActorService>(s => { s.ConstructUsing(n => new MyActorService()); s.WhenStarted(service => service.Start()); s.WhenStopped(service => service.Stop()); });
x.RunAsLocalSystem(); x.UseAssemblyInfoForServiceInfo(); }); } }
public class MyActorService { private ActorSystem mySystem;
public void Start() { mySystem = ActorSystem.Create("MySystem"); }
public async void Stop() { await mySystem.Terminate(); } }
|
如你所见,上面这个例子是最简单的使用TopShelf 的方式。 不过也有其他与TopShelf集成的方式,给你更多的控制。
使用 Topshelf 安装非常简单,在命令行输入myConsoleApp.exe install
就行了。
更多选项和设置请参阅Topshelf 文档.