使用更新的Records-Asp.net通知客户端

时间:2016-09-06 03:16:58

标签: signalr

我想在asp.net中创建应用程序(可能是signalR或web API)
这是一个案例
1)服务器上每15分钟第三方或外部应用程序更新xml文件(大约1000个条目)
2)XML包含ProdID,Qty,ShippingDate
3)使用ProdID,从数据库中检索产品的名称和描述。
4)在UI上,只读视图需要以表格格式显示XML中的所有记录。
5)当服务器端的任何记录发生变化(15分钟内覆盖XML)时,更新数量或者发货日期更新的产品的颜色也会发送新的数值和发货日期 6)在极少数情况下,可以在xml中删除记录(在新版本的xml中删除产品)

我正在考虑遵循设计

  • 在asp.net应用程序中缓存XML并在更改该xml时更新缓存
  • 使用linq将xml转换为类的集合
  • 清除缓存时存储以前的collectioin和current collection
  • 比较集合并确定哪些记录已更改
  • 准备已更改记录的集合,可以使用服务器上的公共方法重试这些记录。
  • 向客户端发送通知,更新服务器上的记录。 在客户端上,在通知时调用服务器来获取数据。


让我知道如何/哪种更快的方式来比较xml的集合,以确定哪些记录被更改。
从服务器到客户端获取xml数据的方法由web API完成
Web API和Signal R如何在同一个应用程序中。我刚接触SignalR

这种方法的任何输入都会很棒

1 个答案:

答案 0 :(得分:0)

  1. 您的禁食搜索将使用词典< [Id],[Class]>
  2. 如果您不了解如何使用WebApi,那么您可能需要查看这些内容。
  3. 如果您正在使用signalR,则不需要使用WebApi,但如果您要添加到现有应用程序,那么我建议使用WebApi来完成大量繁重的数据,您可以指定mime-type在头文件application / xml数据中,让客户端处理它。
  4. 使用signalr将更改增量广播到多个客户端,以便您只使用实时更新中的更改数据。