2

MVC 4 アプリケーションに取り組んでいます。現在のアクション メソッドの実行をブロックせずに特定の DB 呼び出しを行う必要があります。

public ActionResult Save(Employee e){

  bool saveStatus = EmployeeService.Save(e);

  if(saveStatus){
   AuditService.Add("Employee {0} added successfully", e.Name); //want this async
  }
  return View(e);

}

上記のコードでは、AuditService を async に呼び出したいと考えています。

従業員情報を保存した瞬間に、AuditService の呼び出しを待つのではなく、ビューを返す必要があります。

私はMVC 4の初心者ですasyncawait

4

3 に答える 3

3

ブログで説明しているように、asyncは HTTP プロトコルを変更しません。あなたが求めているのは、HTTP リクエストから早期に戻る方法です。asyncこれは/とは関係ありませんawait

HTTP リクエストからの早期復帰について: これを行うことはほとんどありません。

あなたの「監査」サービスが実際にはログであり、時折ログメッセージがログに記録されなくてもまったく問題ない場合は、(そしてその場合にのみ)私のブログで説明しているようなアプローチを使用できます。

そうでなければ、早く帰ってはいけません。つまり、「監査」サービスが実際に監査に使用されている場合、またはログが正確であることを期待している場合です。この場合、早帰りはできません。

于 2013-07-06T15:49:37.267 に答える