我试图让并排工作流服务工作(遵循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中发布并排工作流服务?我在这里做错了什么......请建议我..
感谢您的快速回复..
由于
迪帕
答案 0 :(得分:0)
a)阅读MS文档表明将XAMLX移动到AppCode文件夹是不正确的。它应该移动到与服务名称相同的子文件夹:
在App_Code文件夹中创建一个与服务文件同名的新文件夹。如果服务的xamlx文件名为MortgageWorkflow.xamlx,则该文件夹必须命名为MortgageWorkflow。将原始服务的xamlx文件的副本放入此文件夹,并将其重命名为新名称,例如MortgageWorkflowV1.xamlx
b)要诊断中止的异常,通常需要转到AppFabric服务配置并在WCF和WF上启用详细跟踪。你会看到那里的根本原因。