2012-02-22 4 views
0

私たちのシステムには多くのワークフローがあります。ワークフロー4 performance workflowinvoker

WorkflowInvoker.Invoke(myworkflow)を使用すると、実行に約1秒かかることがわかりました。ワークフローは少し大きかったが、テストでは何もしていなかった。 myworkflowはActivityXamlServices.Loadを使用してXAMLから構築されました

これを改善する方法の提案はありますか?

おかげで、

+0

あなたは常にロードを呼び出し、WorkflowInvokerに新鮮にロードされたアクティビティのインスタンスを渡していますか?毎回正確な手順を示すサンプル/疑似コードが役立ちます。私のケースでは –

答えて

1

おそらくuがうまく書かれていないツアーのワークフローでカスタムアクティビティを使用していますか?あなたが呼び出しに渡すアクティビティインスタンスをキャッシュしてみcachedmetadataが

+0

私たちのDBに格納されているXAMLのバージョンがあります。その後、取得され、ActivityXamlService経由でロードされます...ワークフローを呼び出す前にバリデーションを呼び出す方法はありますか? WorkflowInvoker.Invokeをもっと速くするには? WorkflowInvoker.Invokeのバリデーションプロセスをスキップします。 – pdiddy

+0

カスタムコードやネイティブアクティビティを使用しているのですか?私が知る限り、既存のアクティビティに対してcachemetadataをスキップすることは不可能であり、それはとにかく重要ではありません。あなたの活動が問題になる可能性があります – rfcdejong

+0

ええ、私たちは多くのカスタム活動をしています。なぜこれが問題になるのか説明できますか?ありがとう – pdiddy