How to detect if I'm running in mono-service?

ε祈祈猫儿з 提交于 2019-11-30 20:35:50

Environment.UserInteractive is the proper solution but, unfortunately, it is currently not implemented in Mono. I may take a look on it someday and upgrade this answer ;)

However just to detect you can probably use hacky solution around this one: name given to mono-service in m parameter will become the friendly name of application domain of that service (at least according to the current source code of mono-service). So, when run with this parameter you should be able to test:

AppDomain.CurrentDomain.FriendlyName == "NameGivenToMParameter"

If it is true, then your application is apparently ran with mono-service (with given parameter). Print the value of application domain name to file to see if it really works (it does for me) ;) I do not know if it really resolves your problem.

if (Environment.OSVersion.Platform.Equals(PlatformID.Unix)) 
{
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!