Jak wykryć, że uruchamiam w trybie mono-service2? (w C#/.NET 3.5, z uruchomionym mono 2.6.7 na ubuntu 11)Jak wykryć, czy korzystam z usługi mono-service?
Type.GetType("Mono.Runtime")
mówi mi, że pracuję w trybie mono, więc ta część jest w porządku. Ale wydaje się, że Environment.UserInteractive
jest zawsze fałszywe w trybie mono, więc staram się dowiedzieć, czy faktycznie pracuję pod kontrolą mono-service2 - bez konsoli/terminala.
Tnx. Hack "FriendlyName" działa dobrze. Ale ... To nie jest idealne (więc pozostawiam to pytanie bez odpowiedzi przez jakiś czas). Wiadomości z FriendlyName wpływają na moje logowanie i lepiej byłoby nie pamiętać opcji -m do mono-service. Ale hej; dzięki i tak. Coś wymyślę. A teraz przynajmniej mam rozwiązanie. – BaBu
Znalazłem sposób, aby dowiedzieć się, czy jest dostępna konsola/terminal pod mono na Linux: "Mono.Unix.Native.Syscall.isatty (0)". To nie zadziała w Windows, ale oczywiście działa Environment.UserInteractive. – BaBu
@BaBu: tak, dobry pomysł. gdy dostępny jest v4.5, będzie również użyteczny: http://msdn.microsoft.com/en-us/library/system.console.isoutputredirected(v=vs.110).aspx –