asp.net mvc保持动作执行直到事件发生

时间:2012-02-15 15:49:52

标签: asp.net-mvc

在asp.net mvc中,我在我的action方法中注册了一个事件监听器。我希望action方法等到事件发生(因此客户端将等待服务器响应直到事件发生)。没有民意调查,有没有一种很好的方法呢?

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 个答案:

答案 0 :(得分:1)

我认为AsyncController可以提供帮助。 quick google search应该会产生大量信息。

请注意,等待常规控制器中的事件不是一个好主意。在等待处理请求的线程被阻止执行其他任何操作时。由于可用于请求的线程池数量有限,如果有足够的并发请求等待事件,则最终可能会阻塞整个应用程序。