1

我试图让并行工作流服务工作(遵循 MSDN 文章.. http://msdn.microsoft.com/en-us/library/hh314045%28v=vs.110%29.aspx)。不幸的是,我坚持的工作流程中断了。它抛出了非常通用的异常,如下所示。

System.ServiceModel.FaultException: The workflow has been aborted.

at System.Runtime.AsyncResult.End[TAsyncResult](IAsyncResult result)

at System.ServiceModel.Activities.Dispatcher.ControlOperationInvoker.InvokeEnd(Object instance, Object[]& outputs, IAsyncResult result)

at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeEnd(MessageRpc& rpc)

at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage7(MessageRpc& rpc)

at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)

下面是步骤..

我已经使用框架 4.5 开发了示例工作流服务(也设置了定义标识)

命名为 CusotmerService.xamlx。

托管在 App Fabric 中

也更新了持久性存储架构 (SqlWorkflowInstanceStoreSchemaUpgrade.sql)

在开始对现有工作流定义进行更改之前,请完成以下更改

创建 App_Code 文件夹 -> 将现有工作定义(CustomerService.Xamlx)移至此文件夹。

并将其重命名为 CustomerServiceV1.xamlx。

然后,我对 CustomerService.xamlx 进行了更改(添加了一个额外的分配活动)

修改了定义标识(将版本更改为 2.0.0.0)

然后我发布了对 IIS 的更改(发布)(发布后也重新启动了 IIS..)

一旦我发布了对 IIS 的更改,持久的工作流就会中断。新实例工作没有任何问题..

我不确定它为什么坏了。有没有办法在 IIS / Appfabric 中发布并行工作流服务?我在这里做错什么了吗...请指教我..

感谢您的快速反应..

谢谢

迪帕

4

1 回答 1

0

a) 通读 MS 文档表明将 XAMLX 移动到 AppCode 文件夹是不正确的。应将其移至与服务同名的子文件夹:

在 App_Code 文件夹中创建一个与服务文件同名的新文件夹。如果服务的 xamlx 文件名为 MortgageWorkflow.xamlx,则该文件夹必须命名为 MortgageWorkflow。将原始服务的 xamlx 文件的副本放入此文件夹,并将其重命名为新名称,例如 MortgageWorkflowV1.xamlx

b) 要诊断中止的异常,通常您转到 AppFabric 服务配置并在 WCF 和 WF 上启用详细跟踪。你会在那里看到根本原因。

于 2012-11-26T21:23:55.697 回答