在asp.net中,调用需要轮询的web服务的最佳编码模式是什么



在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:

通知客户端

相关内容

  • 没有找到相关文章

最新更新