0

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

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

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

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

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

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

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

4

2 回答 2

1

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

当前功能包括:

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

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

谢谢!

于 2010-04-20T06:36:38.110 回答
0

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

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

于 2009-10-14T10:19:21.883 回答