代码之家  ›  专栏  ›  技术社区  ›  Chris

Windows工作流:自定义持久性服务,相同的架构和逻辑?

  •  2
  • Chris  · 技术社区  · 16 年前

    所以我一直在使用Windows工作流默认的SQL持久性服务,它可以自己处理所有事情而不必大惊小怪。现在,我部署到的其中一个环境不能直接访问数据库;它通过代理服务器上的Web服务推送存储过程调用,以增加安全性。当然,这并不能取悦SQL持久性之神,尽管我希望能够从那个环境中利用它。因此,我在默认行为和潜在的环境代码之间唯一的区别就是调用存储过程的另一种方式:远程而不是直接访问(Web服务来回移动数据集)。

    如果您要着手解决这个问题,以便利用持久性服务,您会怎么做?从理论上讲,我希望保留所有相同的表和过程,但是我找不到一个好的参考,关于我需要用什么来调用存储过程。

    1 回复  |  直到 16 年前
        1
  •  3
  •   Maurice    16 年前

    我已经编写了一个WorkflowPersistenceService,它针对SQL Compact工作。它的结构与原始sqlWorkflowPersistenceService的内部结构紧密匹配,但它不使用存储过程,因为SQL Compact不支持它们。提供程序改用Linq to SQL。因为L2S与SQL Compact的工作效果与SQL Server相同,所以提供程序对两者都做得很好。数据库方案的唯一区别是删除了所有权,因为SQL Compact是一个单用户数据库。也就是说,增加它是很容易的。在WorkflowPersistenceService部分和L2S部分之间添加一个WCF层并不难。

    您可以从下载项目 http://code.msdn.microsoft.com/SqlCeWFPersistence .

    您需要更改的代码是sqlcedataaccess类。

    推荐文章