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

前端 未结 2 1325
既然无缘
既然无缘 2021-01-05 05:43

How can I detect I\'m running under mono-service2? (in C#/.NET 3.5, running mono 2.6.7 on ubuntu 11)

Type.GetType(\"Mono.Runtime\") tells me I\'m runnin

相关标签:
2条回答
  • 2021-01-05 06:02
    if (Environment.OSVersion.Platform.Equals(PlatformID.Unix)) 
    {
    }
    
    0 讨论(0)
  • 2021-01-05 06:05

    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.

    0 讨论(0)
提交回复
热议问题