2012-05-11 15 views
1

MVC 4.0 Web APIを使用すると、クライアントにデータをすぐに出力できます。非同期で実行されている長時間実行されているDBクエリがあり、完了する前にコントローラは「Get」または「Post」操作を完了します。これはすべて期待通りのものです。MVC 4.0 Web Api

しかし、MVCがクライアントにデータを送り返したように見えますが、実際には長時間実行されるクエリが完了するまでは何も送信されません。

データをクライアントに早期に送信したり、新しいレスポンスを作成して送信する方法はありますか?

+0

時間がかかりすぎるクエリの場合、早期の「収率」をどうすればよいですか? – Aliostad

+0

こんにちはAliostad。ポイントは、私はクエリの結果を必要としないということです。私はただ発射して忘れてしまいます。クライアントにすぐに応答を返すことが重要です。 – user1372718

答えて

1

ポイントは、私は、クエリからの結果を必要としないことである - 私はちょうど ファイア・アンド・フォーゲットしたいと、それはすぐに

をクライアントに応答 (クエリが開始されたと言って)を返すことが重要です

ファイア・アンド・フォーゲットで、あなたは、単に

Task.Factory.StartNew(() => db.DoThatQueryThatBroughtDownChicago()); 

タスクを開始し、文字列、「タスクの開始」と言ってJSONの結果を返し、クライアントに結果を送信する必要がない場合。

+0

ああ、ありがとう。私はそれを与えるだろう! – user1372718