Windows フォームでアプリケーションを作成しました。申請書を提出すると、申請書が処理されます。アプリケーションを処理し、提出されたアプリケーションを別のワークフローに移動するクラス ライブラリを作成しました。このために、送信ボタンのクリック イベントからクラス ライブラリを呼び出しました。すべて正常に動作していますが、唯一の問題は、アプリケーションを送信してクラス ライブラリを呼び出すと、処理に時間がかかることです。アプリケーションを閉じて、ライブラリ メソッドを非同期で呼び出す必要があります。以下はコードです:
private void OnPASubmit_Click(object sender, EventArgs e)
{
if ((ApplAcct.AcctID == 0) || CheckForChanges())
{
UIHelper.ShowMessage("Please Save Application first");
return;
}
try
{
if (!AOTHelper.ValidateCheckOut(ApplAcct.AcctID))
{
return;
}
WorkflowTask.PutAccountWorkflowTask(ApplAcct.AcctID, AOTHelper.FindAcctGUID(Main.objAccountGUID, Acct.AcctID), Environment.UserName, 2);
AOTHelper.checkInAccount(ApplAcct.AcctID);
AOTHelper.AccountToProcess(Acct.AcctID);
UIHelper.ShowMessage("Application has been submitted for processing.");
this.Close();
}
catch (Exception ex)
{
AOTHelper.WriteLog(ex, "Can not submit application for processing ");
}
// ...
}
AotHelper.AccountToProcess(Acct.AcctID) メソッドはクラス ライブラリを呼び出します。Asunchronous 呼び出しを使用してこれを実行し、アプリケーションが送信されたら処理を待つ必要がないようにしたいと考えています。
どうしよう。助けてください!