我有一个WCF服务,它监视一个特定的驱动器并每周创建一个新的文件夹,我将其用作文档存储
我为文件存储配置了很多驱动器,我必须监控哪个驱动器处于活动状态(一次只能有一个驱动器处于活动状态)而在每周基础上我必须在预定义路径的My Active Drive中添加新文件夹 在配置时提供。 客户端可以使任何Drive Inactive,或者如果驱动器已满,则驱动器可能变为非活动状态,并且我需要使用基于优先级的服务动态地生成另一个Drive Active 我有以下驱动器 drive优先级1 Active是 drive B priority 2 Active no
如果A变满,我必须将驱动器B设为活动
现在我应该在IIS中实现WCF服务,还是作为Windows服务实现我的程序将监视必须执行许多操作如检查驱动器大小并使另一个驱动器处于活动状态并在数据库中发送更新
哪种方式更好的IIS或Windows服务
我需要一个获取驱动器路径信息的服务从数据库中我有一个配置WIndows应用程序,它需要与此服务通信以检查驱动器路径并检查大小是否无效应用程序将不配置驱动路径,如果它有效,它将保留数据库中的条目,任何客户端都可以有多个目录,只有一个目录将处于活动状态,以便我可以将文档存储在其中
性能如何,我可以为IIS配置WCF,而不是刷新应用程序池,因为我希望我的服务定期运行,每隔30分钟说一次 - Nitin Bourai刚刚编辑
答案 0 :(得分:2)
在我看来,更好的架构是拥有一个负责持久保存文档的服务,然后它可以决定在何处(以及如何)存储它以及根据谁请求它/多少磁盘空间从哪里读取它这样,你的所有持久性实现细节都会被消费者隐藏 - 他们只需要关心文档,而不是如何持久化。
关于如何托管它......有很多有用的信息记录下来:
两者都能够提供这样的服务。
答案 1 :(得分:0)
在这种情况下我会使用Windows服务。除非我误解,否则你希望这一切都在没有人为干预的情况下发生,对吗?所以,我没有看到合同,这意味着它不适合WCF。
答案 2 :(得分:0)
正如我所看到的,Windows服务或IIS托管服务在您的方案中都能正常运行。话虽如此,我会选择Windows服务。这只是一种感觉,但我猜你有更多的配置支持'开箱即用'。我认为如果无法启动,配置要运行服务的用户等等,则更容易配置.-
但正如我所说,这是一个感觉问题