在MVC里面,有异步控制器,可以实现模拟消息推送机制功能
1.控制器要继承至AsyncController,如
public class RealTimeController : AsyncController
{
}
2.action要采集异步形式,且成对出现Async和Completed,如
public void IndexAsync(string url)
{
}
public void IndexCompleted(Info u)
{
}
3.在Async中,要说明异步等待操作
AsyncManager.OutstandingOperations.Increment();
4.在有数据时候,调用
AsyncManager.Parameters["Info"] = u;//这是返回给Completed中调用
AsyncManager.OutstandingOperations.Decrement(); //类似执行回调Completed
5,最好执行Completed,返回给客户端