正如标题中所述,我想问一下在Windows Service上使用这些托管代码的可能性有什么不同。据我所知,这三个都允许我创建exe,它将作为一个服务安装。
发布于 2012-12-03 01:48:34
Topshelf是我的首选,因为它允许您两全其美,一个服务和一个控制台应用程序。使用sc.exe允许您将任何控制台应用程序作为服务执行,但exe本身并不作为服务进行交互。直接开发Windows服务可以让您拥有一个服务并与Windows进行交互,但是要像普通的控制台应用程序那样调试或运行并不容易。Topshelf允许您充分利用作为服务运行和作为普通控制台应用程序运行的优点。
发布于 2012-12-03 01:48:58
Windows服务是响应启动、停止、暂停、继续等服务控制消息的特殊应用程序类型。
虽然您确实可以使用诸如sc.exe之类的东西将任何类型的进程转换为服务,但这些进程将不会处理前面提到的控制消息。你通常会发现,你将能够启动一个进程,但不能停止它,等等。
我倾向于做的是将我的服务抽象出来(我认为Topshelf做到了这一点),拥有一个服务库,它可以由本机Windows服务应用程序或控制台应用程序加载,这样我就可以两全其美(通常是在控制台下调试)。
https://stackoverflow.com/questions/13671924
复制相似问题