实现可脱机工作的桌面.NET应用程序。

时间:2010-10-15 17:43:30

标签: c# .net wpf offline

我需要在.NET中创建一个桌面WPF应用程序。

应用程序与Web服务器通信,并且在Web服务器不可用时可以在脱机模式下工作。

例如,应用程序需要计算用户在项目上工作的时间。应用程序连接到服务器并获取项目列表,用户选择一个项目,然后按下按钮以启动计时器。用户可以稍后停止计时器。项目开始和停止时间需要发送到服务器。

如何在应用程序处于脱机模式时实现此功能?

是否有一些现有的解决方案或一些库来简化此任务?

提前致谢。

4 个答案:

答案 0 :(得分:7)

为了脱机工作,您需要做一些不同的事情。

首先,您需要缓存项目列表。这样,用户就不必上网获取项目列表 - 当用户离线时,您可以从本地缓存中将其拉出。

其次,您需要在本地保存您的计时结果。再次上线后,您可以更新服务器所有历史时序数据。

这只需要在本地保存信息。你可以选择将它保存在你想要的任何地方,甚至一个简单的XML文件也足以满足你要保存的信息,因为它很简单 - 只需一个项目+一次。

听起来这是一个用于业务跟踪目的的计时应用程序,在这种情况下,您需要阻止用户轻松更改数据。就个人而言,我可能会将其保存在Isolated Storage中,并可能对其进行加密。

答案 1 :(得分:1)

您可以使用Sql Server Compact为您本地存储,然后使用Microsoft micros sync框架将本地数据库同步到服务器数据库。我建议对Microsoft Sync Framework进行一些研究。

答案 2 :(得分:1)

大家好我实现了这个应用程序我已经创建了自己的离线框架 基于此article和Microsoft断开连接的服务代理 DSA

我根据自己的需要调整了这个框架。 谢谢大家。

答案 3 :(得分:1)

您可以使用类型化或非类型化数据集进行离线存储。 在线(连接到互联网)时,您可以将数据下载到数据集中并将其上传回数据库服务器。数据集可以加载并保存到本地文件中。