我想使用 WF 4 作为我项目的工作流引擎。我使用 WF 的活动是长期运行的(可能会持续数周或数月),因此我希望它使用持久性存储。我还想利用持久的延迟,以便我可以在事后几天发送通知。我的所有研究都为我指明了使用 IIS 中托管的工作流服务和 AppFabric 的方向。
我在本地机器上测试了这个场景,效果很好。我的工作流程持续存在,我的延迟在我想要的时候就开始了。我有一个问题:我公司定义的架构不允许服务层(IIS 中托管的 WCF 服务)直接与数据库层对话。我认为解决这个问题的一个好选择是编写一个自定义实例存储,该存储将通过数据访问层将调用路由到持久性数据库。我可以找到大量通过代码实现自定义实例存储的示例(即,workflowApplication.InstanceStore = customInstanceStore)。但是,启用 WCF 的服务没有代码,我找不到任何可以让我通过 web.config 配置持久性存储的示例。
启用 WCF 的工作流主机是否必须使用直接与数据库对话的内置 SQL 实例存储?