【问题标题】:Service detection for .NET Core.NET Core 的服务检测
【发布时间】:2017-05-03 11:13:09
【问题描述】:

您能否建议.NET Core 的一种方法,该方法能够在运行时检测代码是否在服务中执行?

我有.NET Framework 的工作代码,但我认为不可能移植它,因为它基于.NET Core 1.1 中不可用的属性。

【问题讨论】:

  • 你需要提高你的谷歌技能。快速搜索产生了多个点击,包括:stackoverflow.com/questions/207896/…
  • 抱歉,您的链接不适用于 .NET Core,这是我的问题。我有 .NET 的工作代码
  • 它不仍然适用吗?无论哪种方式,您都需要证明您对此进行了研究(否决按钮上列出的第一个原因);
  • 没有。我无法移植它,因为大多数属性在 .NET Core 1.1 中不可用
  • 喜欢 Environment.UserInteractive

标签: .net service .net-core


【解决方案1】:

使用 .NET Core 中的公共托管 API 无法直接实现这一点。 Environment.UserInteractive 默认为固定值,并且检查以测试标准输出的连接方式也会在各种情况下产生意想不到的结果(例如有和没有标准输出连接的子进程)。

在我的sample implementation 用于服务托管 API 中,当可执行文件作为 Windows 服务安装时,我最终要求服务注册添加命令行参数 (--run-as-service)(在此应用程序中,使用 --register-service 调用)。许多非 .net 应用程序都以这种方式工作,包括 docker。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-15
    • 1970-01-01
    • 1970-01-01
    • 2020-05-02
    相关资源
    最近更新 更多