【问题标题】:Windows Service ContainerWindows 服务容器
【发布时间】:2009-10-14 10:06:17
【问题描述】:

对于我的项目,我经常需要创建 Windows 服务。

我需要它们来调度操作、文件系统监视、异步或长时间运行的辅助任务(备份文件、发送消息、检查传入的邮件以进行处理、通知等)。

我还使用它们来公开企业中跨应用程序的 WCF 服务。

在我看来,自托管方案更合适,因为我们仍然在 II6 上,这对于公开 WCF 来说非常有限(只有 http)。

大多数)服务还需要公开某种管理界面(Web 或桌面),用于报告、启动和停止各种服务等。

对我来说似乎很奇怪,利用大多数这些功能(主机、安装新服务、管理员的远程 ui、公开 wcf、调度等)和某种 mef 插件的“主机容器”并不存在。

如果我不想从头开始,有哪些选择?

【问题讨论】:

    标签: wcf windows-services mef


    【解决方案1】:

    我是名为 Daemoniq 的开源 Windows 服务托管框架的开发人员。我了解安装程序会给您带来不便,因此即时创建安装程序是其功能之一。可以从http://daemoniq.org下载

    目前的功能包括:

    • 通过 CommonServiceLocator 与容器无关的服务位置
    • 通过 app.config 设置常用服务属性,如 serviceName、displayName、description 和 serviceStartMode
    • 在同一个进程上运行多个windows服务
    • 通过 app.config 设置恢复选项
    • 通过 app.config 设置依赖的服务
    • 通过命令行设置服务进程凭据
    • 通过命令行安装、卸载、调试服务

    请随意看看。也欢迎代码贡献=D

    谢谢!

    【讨论】:

      【解决方案2】:

      有一台主机服务器正在开发中 (Microsoft) - 代号 Dublin。

      可能的选择是创建一个 Windows 服务 - 宿主应用程序,该应用程序将加载所有 WCF 服务并为每个服务创建 ServiceHost(例如,通过反射)。 只有一个 Windows 服务可以轻松管理所有服务主机(您不必管理 Windows 服务,只需管理进程内主机)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-08-07
        • 1970-01-01
        • 2020-07-20
        相关资源
        最近更新 更多