我的程序可以作为控制台程序或Windows服务运行。但是,当程序作为服务运行时,它也会运行Main(string[] args)
。
我的Main()
方法有一些代码无法在Windows服务中使用。
如何确定我的程序是否作为服务运行?
答案 0 :(得分:1)
一种方法是使用命令行参数来指定(并显然检入Main
)。即将service set命令行参数配置为“-asservice”而不是Main
时,检查是否传入此参数.I.e。
if(args.Any(a => a == "-asservice"))
{
// running as service...
}