将控制台应用程序转换为服务?

Kyl*_*son 8 .net windows-services

我正在寻找不同的优势/劣势方法,将我们长期使用的控制台应用程序转换为Windows服务.我们为ActiveMQ使用了一个叫做java服务包装器的东西,我相信人们告诉我你可以用它包装任何东西.那并不是说你应该用它包装任何东西; 我们在这个设置中遇到了问题.

控制台应用程序是一个.NET控制台应用程序,默认情况下会将大量信息记录到控制台,尽管这是可配置的.

任何推荐?

我们应该在Visual Studio中将其重建为服务吗?使用包装?哪一个?

Mar*_*ell 11

我很想创建一个空的Windows服务项目,只需抓住处理服务的位; 它不是很多 - 一些参考和一些代码Main.实际上,你可以有你的现有的控制台的工作作为一种服务,并作为控制台-无论是通过检查args设置为Main使用(例如)"-console"开关,或者我相信你可以检查Environment.UserInteractive.

如果它处于"控制台"模式,请像现在一样运行代码; 如果它处于服务模式,请运行您从模板项目中获取的代码.

有关信息,您可以使用与服务的安装程序/卸载程序相同的exe工作!我使用"-install"/"-uninstall"开关执行此操作.有关示例,请参见此处.