2016-10-07 8 views
0

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の世界ではどのような戦略ですか?

任意のヒントをいただければ幸いです:)

+0

あなたは火と忘れてSignalR経由でコールバックを取得したり、何か他のものか、あなたは待つ必要がやろうとしています同じ要求ですか? –

+1

操作が非同期でない場合、非同期にするために魔法のような操作はありません。実際に何を達成しようとしていますか?理想的には、Luceneので非同期を要求すべきではない –

+0

、あなたは別のバックグラウンドジョブであなたのLuceneインデックスを更新する必要があるとLuceneインデックス上のアプリケーションからの読み出しは、非同期呼び出しを必要とすべきではありません。 –

答えて

1

訪問このLink .ITの役に立つ..

+0

潜在的な解決策へのリンクは常に歓迎されていますが、 [リンクの周りのコンテキストを追加]してください(// meta.stackoverflow.com/a/8259)ので、あなたの仲間のユーザーはそれが何であるか、いくつかのアイデアを持っていますし、なぜそれがあります。ターゲットサイトに到達できない場合や、永続的にオフラインになる場合は、常に重要なリンクの最も関連性の高い部分を引用してください。外部サイトへのリンク以上のものがあることを考慮に入れてください。なぜ、どのように答えが削除されますか?(// stackoverflow.com/help/deleted-answers)という理由が考えられます。 – FrankerZ