我目前正在研究如何最好地将.NETCore2.x应用程序作为Windows服务运行,特别是为消息传递系统运行NServiceBus端点。我最初的原型是用一些
Windows Service hosting docs
从特定的角度。然后,我把这个运行正常的原型变成了一个.NET标准库,供其他团队成员使用,但我发现对他们(或者我自己,如果我离开它两周的话)来说,这并不是非常直观的。
GenericHostBuilder
,由
Mr. Steve Gordon
new Thread(...).Start();
Thread
在C和.NET中。
-
new
线程
而保持不提及它感觉真的是错误的。我担心这样做可能会导致内存泄漏,或者垃圾收集器会把它捡起来?我确实找到了
this
所以这个答案给了我一些安慰,即使我没有提到
,CLR将。所以听起来不应该担心GC完成线程,对吧?
-
有人能解释一下原因吗
Abort()
不需要
线程
? 是因为CLR管理线程,并且知道在主线程关闭时停止其他线程吗?还是跟打电话给警察有关
ServiceBase.Stop()
中的方法
IHostLifetime.StopAsync()
如果这些事情可以在
在某个地方,我很高兴得到一个“实时调频”和找到文件。在这一点上,我只是没有找到任何能给我一个明确解释的东西。