Windows激活服务中的单例模式

时间:2009-12-10 16:23:09

标签: windows wcf service was activation

我在一个非常基本的NT服务中有一些目前正在自托管的WCF服务。我想扩展我的应用程序以添加WCF服务的配置,更新以及隔离(我希望每个WCF服务都在其自己的AppDomain中)。这些WCF服务包含需要定期运行的逻辑,ping数据库以及从外部设备获取信息,以便在请求进入时可以随时获得数据。

我正在考虑尝试Windows激活服务,因为我非常喜欢托管服务基础架构附带的配置和隔离。如果我没有使用WAS,我基本上必须自己编写相同的代码。

据我所知,虽然WAS并不真正支持在某人实际调用服务上的方法之前运行服务的模型。我在这里读到的文章

MSDN Article Link

声明“这实际上意味着开箱即用的WAS托管并不适合会话或单一服务。它更适合无状态的每次呼叫服务。”

它确实说“开箱即用”所以我想知道是否有人使用WAS来托管一个真正表现得更像NT服务的WCF服务(独立启动和停止调用它的方法)。 或者任何其他想法都会很棒。我计划自己编写此基础结构,在自定义ServiceHost中托管WCF服务,并将其执行放在一个固定的AppDomain中,并允许在初始安装后提供这些服务以及更新。但是,如果我不需要,我会非常多地拥有该代码。

感谢

约书亚

1 个答案:

答案 0 :(得分:0)

如果您想使用WAS,支持适当的Singleton服务实例将会非常棘手。

听起来你真正需要做的就是创建一个计划任务。您可以每隔5分钟从计划任务运行数据库更新实用程序,而不应该让单身人士感到厌烦。