我目前正在开发Orleans 3应用程序,在这里我需要将Silo Host作为Windows服务。通常,我会使用TopShelf将host用作WindowsService。
但是,随着.net core 3(GenericHost)和Orleans 3(UseOrleans)的新变化,我认为类似的事情会起作用(我删除了所有配置代码,只留下了相关部分:]
var builder = Host.CreateDefaultBuilder()
.UseOrleans(builder => {...ConfigCode...})
...ConfigCode...
.UseWindowsService();
现在使用此安装程序,主机将通过运行.exe文件(或通过Visual Studio运行)启动并在其正常运行时运行。但是,当我将可执行文件安装为Windows服务时,它启动时没有任何问题,但是立即停止,没有错误消息。
有人通过这种方法设法使Orleans Silo主机作为Windows服务运行,还是我应该返回使用TopShelf或Worker?
决定继续使用TopShelf,因为目前看来这是正确的方法。