ASP.NET アプリケーションのクラス ライブラリの一部として Windows ワークフローを使用しています。ASP.NET での WWF の設定と ManualWorkflowSchedulerservice の使用に関するすべての提案を読みましたが、それが私のアプリにとって意味があるかどうかはわかりません。
私のワークフローはすべてシーケンシャルで、持続性はありません。彼らは火であり、忘れます。クライアントは要求を行い、後で結果を確認するために戻ってきます (またはアプリで待機します)。これまで、私は AJAX Web サービス クラスを使用して仕事を開始してきました。
function DoWebserviceJob()
{
MywebService.DoJob(onComplete, onFailed);
}
[WebMethod]
public DoJob()
{
//code from library
}
顧客がまだ近くにいれば通知が届きますが、そうでなければ大丈夫でした。現在、ライブラリから直接コーディングする代わりに、WWF を使用しています。私はこれが機能することを知っています(私がそれを行ったので)が、私が気付いていない副作用やその他の懸念があるかどうか疑問に思っています. 私の新しいコードは次のようになります。
[WebMethod]
public DoJob()
{
WorkflowRuntime runtime = Application["RUNTIME"] as WorkflowRuntime;
MyWorkflowManager.DoJob(runtime);
}
私のクラス ライブラリ:
public void DoJob(WorkflowRuntime runtime)
{
WorkflowInstance instance = runtime.CreateWorkflow(typeof(MyWorkflow));
instance.Start();
}
これは少し単純化されていますが、全体的なプロセスはここにあります。これは今のところ問題なく動作していますが、私が懸念すべき問題はありますか? スレッドの場合 (これが最も懸念されているようです)、これは Web サービスが別のスレッドで起動することと同じではありませんか?