我目前正在开发一个使用c#.NET桌面应用程序,通过WCF和WCF数据服务连接互联网上的数据库。在应用程序中有许多地方可能需要定时刷新,最简单的解决方案是将这些区域放置在计时器上并重新查询数据库。但是,由于有数千个客户端连接到服务层和数据库,因此这些操作对服务器来说非常昂贵。
我的考虑是创建一个RSS订阅源,由客户端轮询,并告知客户端什么时间需要更新这些特定区域。RSS订阅源将由服务管理,该服务会轮询数据库进行更改,或迭代由客户端发起的WCF请求排队的项目列表。
我还考虑创建一些直接和连续的客户端到服务器的连接,但我不确定客户端出站防火墙端口是否打开。我可能只能指望端口80/443。
所以我的问题是,人们已经成功采用哪些解决方案来解决这个问题?有人做过RSS吗?Microsoft Sync Services?通过WCF在某个保存端口上实现客户端和服务器之间的双向通信?