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

时间:2013-02-27 17:32:02

标签: asp.net asp.net-mvc asp.net-web-api

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

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

任何线索都表示赞赏。

2 个答案:

答案 0 :(得分:2)

这里描述了一个安静的方法Returning http status code from Web Api controller你需要将最后更新的时间带入你的控制器方法,用它来检查是否已经对该日期进行了更改,如果它没有更改则返回HTTP状态代码为304 Not Modified并省略响应;但是,如果它已经改变,则发送资源正常,200 OK。

就个人而言,我会通过http头和etag管理最后更新的方法来修改上面提到的方法。请阅读此here以获取更多信息。

答案 1 :(得分:1)

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

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