通知客户端
在ASP.NET中,我必须调用具有以下语义的报告服务:1.创建报告2.检查报告是否已准备好下载3.下载报告
我目前的实现是,#2是用Thread.Sleep(1000)在一个循环中完成的,所以我每秒都会轮询一次。
我想知道是否有更好的方法使用ASP.NET 4.5异步方法来实现这一点。
我会读到:
WCF双工
SignalR
并检查什么最适合你(基于你的客户和与你的应用程序有关的其他考虑因素)。
如果要使用异步轮询,请使用Task.Delay
而不是Thread.Sleep:
while (await proxy.PollServer())
{
await Task.Delay(1000);
}
return await proxy.DownloadReport();
如前所述,您可以翻转您的体系结构,以便服务器在完成时使用SignalR
: