【问题标题】:Simple way to get a .net DLL to run as a Windows Service让 .net DLL 作为 Windows 服务运行的简单方法
【发布时间】:2012-01-26 20:28:59
【问题描述】:

我有一个想在 Windows 服务中运行的 NServiceBus 项目(类库)(现在它使用 NServiceBus.Host.exe)

我希望能够在我的 dll 周围放置尽可能少的内容。让 dll 作为 Windows 服务运行的最简单方法是什么?

我宁愿不做一个单独的安装程序,但如果我必须做一个安装程序,我会的。

【问题讨论】:

  • 将 DLL 作为服务运行和安装库(GAC 与否)是两个不相关的主题。
  • @joe,谢谢。我更新了我的问题。 (我有一位同事告诉我,如果您将 dll 放入 GAC,可以“轻松”完成。我不想这样做。)
  • @Vaccano 告诉你的同事参加一些关于 .net 编程和/或 Windows 服务的课程,这两者绝对没有关联。 =)
  • 这个 DLL 提供了多少启动/停止/暂停和线程逻辑?
  • 不能使用NSB主机有什么原因吗? ( nservicebus.host.exe /install 会将其安装为 win 服务)

标签: c# .net visual-studio dll windows-services


【解决方案1】:

没有比编写一个包装库的 Windows 服务更简单的方法了。您将需要与服务控制管理器通信(响应启动、停止等)并处理服务的“主循环”的东西。除了别人写的东西(比如 NServiceBus.Host.exe)之外,唯一的方法就是自己写一个。

【讨论】:

    【解决方案2】:

    Afaik,NServiceBus 主机在下面使用 TopShelf。无论如何,这应该是您正在寻找的:http://nservicebus.com/GenericHost.aspx > 安装

    【讨论】:

      【解决方案3】:

      Windows Service Applications

      只需从服务中调用类库...

      【讨论】:

        【解决方案4】:

        虽然我自己没有使用它,但一些同行喜欢使用 TopShelf - 显然最好的功能(嗯,他们喜欢的功能)是能够使用 xcopy 更新服务,而不必停止/删除/install/start 每次。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-08-23
          • 1970-01-01
          • 1970-01-01
          • 2023-03-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多