本文介绍了WF4.5不是编译并排侧C#工作流程的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个IIS托管与我试图在并排侧版本运行C#表达式xamlx工作流程。



我做这篇文章完全一样:的



在工作流的新实例。工作正常,但是当我打电话的工作流程的一个早期版本的实例,它提出了一个错误,告诉我,这不是编



错误:



BTW, I have a custom factory that compiles the workflow.

<serviceActivations>        
    <add service="Service1.xamlx" relativeAddress="~/Service1.xamlx" factory="MyServiceHostFactory" />
</serviceActivations>
解决方案

After analyzing the source code from .Net, I realized that the method CreateWorkflowServiceHost that I override in my custom workflow factory, adds all supported versions in it's return object.

All I had to do is iterate this collection and compile them all.

Final source code:

    protected override WorkflowServiceHost CreateWorkflowServiceHost(WorkflowService service, Uri[] baseAddresses)
    {
        var host = base.CreateWorkflowServiceHost(service, baseAddresses);

        // add your customizations here…
        CompileExpressions(service.Body);
        foreach (var supportedVersion in host.SupportedVersions)
        {
            CompileExpressions(supportedVersion.Body);
        }

        return host;
    }        

这篇关于WF4.5不是编译并排侧C#工作流程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-29 23:18