提问者:小点点

一种检查新内容并下载新内容的方法


我有一个桌面客户端,它通过ASP.NET Web API检查服务器上的新内容,并将其保存在本地。比如电子邮件客户端。

但是我不知道具体什么是实现这一点的最佳方式,我的意思是我应该有一个控制器来检查是否有新的内容,然后客户端调用另一个控制器来下载它,或者什么?

欢迎提供任何线索。


共2个答案

匿名用户

大多数人使用轮询方法,通过这种方法,应用程序传递上次系统检查更新时的日期或标识符,然后将任何新的更新流到桌面客户端。您所需要做的就是调用一个方法,该方法检查数据库中截至特定时间的更新,流式处理新的更新,然后将新的更新添加到结果集中(或刷新整个结果)。

public class UpdatesController : ApiController
{
   public object Get(long millisecondsAsOf)
   {
     //Query from DB, return  results, or return true/false if there are new records.
   }
}

匿名用户

这里描述了从Web Api控制器返回http状态代码的restful方法。您需要将上次更新的时间输入到您的控制器方法中,使用该时间来检查在该日期内是否进行了更改,如果没有更改,则返回http状态代码304 Not Modified并省略响应;但是,如果它已经改变,发送资源正常与200 OK。

就我个人而言,我会对上面提到的方法进行一点修改,通过http头和ETag来管理最后一次更新。更多信息请看这里。