Lucene検索を非同期に実行するASP.netメソッドを作成しようとしています。 Lucene.NETには非同期/待機の実装が組み込まれていないので、私は通常の同期メソッドをどのように拡張して非同期にするかを検討すると思います。ASP.netと非同期メソッドを作成する
public ActionResult Search(string queryText, int page = 1, int size = 10)
{
List<object> matches = new List<object>();
// a bunch of IO based Lucene stuff here
// DON'T USE Task.Run()... it is bad in ASP.net
return Json(matches, JsonRequestBehavior.AllowGet);
}
これはASP.netの世界ではどのような戦略ですか?
任意のヒントをいただければ幸いです:)
あなたは火と忘れてSignalR経由でコールバックを取得したり、何か他のものか、あなたは待つ必要がやろうとしています同じ要求ですか? –
操作が非同期でない場合、非同期にするために魔法のような操作はありません。実際に何を達成しようとしていますか?理想的には、Luceneので非同期を要求すべきではない –
、あなたは別のバックグラウンドジョブであなたのLuceneインデックスを更新する必要があるとLuceneインデックス上のアプリケーションからの読み出しは、非同期呼び出しを必要とすべきではありません。 –