1

我安装了 Appfabric 托管服务。我创建了一个 xamlx 工作流服务。工作流服务根据用户的日程安排发送电子邮件。Appfabric Persistence 正在工作,但我在不知不觉中一定改变了一些东西,因为它停止在 Appfabric 数据库中持久化。只要我不执行 iisreset,工作流服务仍然可以工作,这是有道理的,因为工作流托管在 IIS 中。

我卸载了 AppFabric 并重新安装了它。在我的根 web.config 中,定义了 InstanceStore:

<instanceStores>
            <add name="defaultSqlPersistenceStore" provider="SqlPersistenceStoreProvider" connectionStringName="ApplicationServerWorkflowInstanceStoreConnectionString" />
        </instanceStores>

并且定义了connectionStringName。当我转到 IIS 并选择 Web 应用程序时,我从“管理 WCF 和 WF 服务”中选择“配置”,然后转到“工作流持久性”选项卡。我选择 SQL Server Workflow Persistence 并且 SQL Server 存储下拉列表为空。如果我在 IIS 中选择右侧的计算机名称并单击配置以设置工作流持久性,则上面的 defaultSqlPersistenceStore 在下拉列表中。但这仍然无助于我的 Workflow 服务。在我的工作流服务 web.config 中,我有:

<behavior name="Scheduler">
                <sqlWorkflowInstanceStore instanceCompletionAction="DeleteAll" instanceEncodingOption="GZip" instanceLockedExceptionAction="BasicRetry" connectionStringName="WorkflowPersistenceStore" hostLockRenewalPeriod="00:00:30" runnableInstancesDetectionPeriod="00:00:05" />                    
                <workflowInstanceManagement authorizedWindowsGroup="AS_Administrators" />
                <workflowUnhandledException action="AbandonAndSuspend" />
                <workflowIdle timeToPersist="00:01:00" timeToUnload="00:01:00" />
            </behavior>

我尝试将商店添加到 WF 服务 web.config:

<microsoft.applicationServer>
    <persistence>
        <instanceStores>
            <add name="storeA" provider="SqlPersistenceStoreProvider" connectionStringName="WorkflowPersistenceStore" />                
        </instanceStores>
    </persistence>
</microsoft.applicationServer>

我可以在 IIS 中选择它 - 配置 WCF 和 WF 服务,但我的 WF 服务仍然不存在。

当我检查持久性数据库表时,WF 服务甚至没有注册。(从 [System.Activities.DurableInstancing].[ServiceDeploymentsTable] 中选择 *)。当持久性工作时,有一条带有 WF 服务 url 的记录。

提前致谢,

-杰森

4

0 回答 0