0

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

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

任何线索表示赞赏。

4

2 回答 2

2

此处描述了restful方法从Web Api控制器返回http状态代码,您需要将上次更新时间带入控制器方法,使用它来检查该日期是否已进行更改,如果尚未更改,则返回HTTP 状态码 304 Not Modified 并省略响应;但是,如果它已更改,则以 200 OK 正常发送资源。

就我个人而言,我会通过管理通过 http 标头和 etag 的最后更新来稍微修改上面提到的方法。阅读这里以获得更多信息。

于 2013-02-27T19:40:24.047 回答
1

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

public class UpdatesController : ApiController
{
   public object Get(long millisecondsAsOf)
   {
     //Query from DB, return  results, or return true/false if there are new records.
   }
}
于 2013-02-27T18:45:02.230 回答