我需要在.NET中创建一个桌面WPF应用程序。
应用程序与Web服务器通信,并且在Web服务器不可用时可以在脱机模式下工作。
例如,应用程序需要计算用户在项目上工作的时间。应用程序连接到服务器并获取项目列表,用户选择一个项目,然后按下按钮以启动计时器。用户可以稍后停止计时器。项目开始和停止时间需要发送到服务器。
如何在应用程序处于脱机模式时实现此功能?
是否有一些现有的解决方案或一些库来简化此任务?
提前致谢。
答案 0 :(得分:7)
为了脱机工作,您需要做一些不同的事情。
首先,您需要缓存项目列表。这样,用户就不必上网获取项目列表 - 当用户离线时,您可以从本地缓存中将其拉出。
其次,您需要在本地保存您的计时结果。再次上线后,您可以更新服务器所有历史时序数据。
这只需要在本地保存信息。你可以选择将它保存在你想要的任何地方,甚至一个简单的XML文件也足以满足你要保存的信息,因为它很简单 - 只需一个项目+一次。
听起来这是一个用于业务跟踪目的的计时应用程序,在这种情况下,您需要阻止用户轻松更改数据。就个人而言,我可能会将其保存在Isolated Storage中,并可能对其进行加密。
答案 1 :(得分:1)
您可以使用Sql Server Compact为您本地存储,然后使用Microsoft micros sync框架将本地数据库同步到服务器数据库。我建议对Microsoft Sync Framework进行一些研究。
答案 2 :(得分:1)
答案 3 :(得分:1)
您可以使用类型化或非类型化数据集进行离线存储。 在线(连接到互联网)时,您可以将数据下载到数据集中并将其上传回数据库服务器。数据集可以加载并保存到本地文件中。