2

我有一个正在开发的 WCF 服务,并且经常在 Windows 服务中的托管和控制台应用程序中的托管之间切换。服务和控制台应用程序共享一个配置文件,那么在我的 WPF 客户端中,我还能如何判断服务是否托管在控制台应用程序中?

4

1 回答 1

2
bool windowsServiceHosted = !Environment.UserInteractive;

更hacky(上面应该没有必要)

private bool? _ConsolePresent;
public bool ConsolePresent {
    get {
        if (_ConsolePresent == null) {
            _ConsolePresent = true;
            try { int window_height = Console.WindowHeight; }
            catch { _ConsolePresent = false; }
        }
        return _ConsolePresent.Value;
    }
}

bool windowsServiceHosted = !ConsolePresent;

如果您需要从客户端知道,那么您需要bool WindowServicesHosted从使用上述服务器端之一的服务器公开一个属性。

于 2015-03-09T08:56:50.037 回答