Web托管的Windows Workflows Services 4.5的并排版本控制

时间:2012-11-23 00:57:06

标签: service workflow

我试图让并排工作流服务工作(遵循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(添加了一个额外的Assign Activity)

修改了Defintion Identity(将版本更改为2.0.0.0)

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

一旦我将更改发布到IIS,就会破坏持久的工作流程。新实例没有任何问题。

我不确定它为什么会破坏..有没有办法在IIS / Appfabric中发布并排工作流服务?我在这里做错了什么......请建议我..

感谢您的快速回复..

由于

迪帕

1 个答案:

答案 0 :(得分:0)

a)阅读MS文档表明将XAMLX移动到AppCode文件夹是不正确的。它应该移动到与服务名称相同的子文件夹:

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

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