1

着信要求を処理し、データベースを更新し、必要に応じて、追加のコマンドを含む応答を要求者に送信する MVC3 アプリケーションがあります。

MVC アプリケーションが応答を送信するまでにかかる時間にはタイミングの制約があるため、アプリケーションは次のことを行います。

  1. リクエストのコンテンツを受け取り、後で別のサービスで処理するために中間データベースに保存します。
  2. データベースで発信応答オブジェクト (プレーン テキストの行のみ) をチェックし、存在する場合はそれらを応答に追加し、データベースで送信済みとしてマークします。
  3. 本文に送信応答オブジェクトを含む応答を送信します。

これは、サーバーの処理中に接続が切断された場合など、応答がリクエスターに到達しない場合でも、オブジェクトが送信済みとしてマークされるという事実を除いて、すべてうまく機能します。

基本的に、アクション フィルターを使用して、変更をデータベースにコミットして応答を返す前に、リクエスターの接続の状態を確認できる方法はありますか?

4

1 に答える 1

0

試してキャッチするようなことをしてもらえますか?

try
{
   //Sends the response with and outgoing response objects in the body.
   //mark it as sent
}
catch
{
   //dont do anything as the "object" wont have been set a "sent" its gonna try the next time?
}

また、送信/送信済みとしてマークする前に、接続の状態を確認することもできます

于 2012-12-19T14:18:55.973 に答える