在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
}
}
答案 0 :(得分:1)
我认为AsyncController可以提供帮助。 quick google search应该会产生大量信息。
请注意,等待常规控制器中的事件不是一个好主意。在等待处理请求的线程被阻止执行其他任何操作时。由于可用于请求的线程池数量有限,如果有足够的并发请求等待事件,则最终可能会阻塞整个应用程序。