2

Windows Workflow 4.0を使用して、プログラムでWindowsワークフローサービスを正常に作成しました。Windows Workflow 4.0はCSharp式をサポートしていなかったため、VisualBasic式を使用する必要がありました。4.5にアップグレードしたので、それらをVisualBasic式からCSharp式に変換したいと思います。残念ながら、ワークフローを使用しようとするとエラーが発生します。

4.0では、ワークフローを適切に生成してシリアル化するために、使用する名前空間について通知する必要がありました。たとえば、私は次のようなものを持っていました:

    private static void AddVbNamespaceSettings(WorkflowService service, params Type[] types)
    {
        var vbsettings = VisualBasic.GetSettings(rootObject) ?? new VisualBasicSettings();

        foreach (Type t in types)
        {
            vbsettings.ImportReferences.Add(
                new VisualBasicImportReference
                {
                    Assembly = t.Assembly.GetName().Name, 
                    Import = t.Namespace
                });
        }

        VisualBasic.SetSettings(service, vbsettings);
    }

以上のことにより、視覚的な基本表現を評価するために必要なタイプをワークフローサービスに通知することができました。

CSharpと同等のことをする必要があると思いますが、それが何であるかを知ることができませんでした。同等のものはありますか?

さらに、次のような操作を行うことでワークフローを検証できました。

        ValidationResults results = ActivityValidationServices.Validate(service.Body); 
        if (results.Errors.Count > 0)
        {
            throw new Exception();
        }

私の式がCSharpValuesにあるので、バリデーターは悪い式をキャッチしていないようです。ワークフローを検証する適切な方法は何ですか?

ありがとう、エリック

4

0 に答える 0