2012-02-15 2 views
1

asp.net mvcで私のアクションメソッドにイベントリスナーを登録しました。私は、アクションメソッドがイベントが発生するまで待つようにします(したがって、クライアントはイベントが発生するまでサーバの応答を待ちます)。ポーリングなしでこれを行う良い方法はありますか?asp.net mvcはイベントが発生するまでアクションの実行を保留します

class SomeStateManager 
{ 
    public delegate void SomeDelegate(); 
    public event SomeDelegate SomeEvent; 
} 

... 

public void MyActionMethod(SomeData data) 
{ 
    SomeStateManager man = GetSomeStateManager(); 
    man.SomeEvent +=() => 
     { 
      //want to hold action until this occurs, without polling 
     } 
} 

答えて

1

私はAsyncControllerが役立つと思います。 quick google searchは、豊富な情報をもたらすはずです。

通常のコントローラでイベントを待つことはお勧めできません。あなたが処理しているスレッドが待っている間は、リクエストはブロックされ、他のことはできません。要求に利用できるスレッドのプールが限られているので、十分な同時要求がイベントを待っている場合は、アプリケーション全体をブロックする可能性があります。

関連する問題