首页 新闻 会员 周边

关于离线程序的实现

0
悬赏园豆:100 [已解决问题] 解决于 2013-07-19 10:33

一个简单的Winform程序.

有什么好的解决方案在本地保存数据。在有网络的情况下 和正式的数据库进行数据的同步。

xiaoZz的主页 xiaoZz | 初学一级 | 园豆:120
提问于:2013-07-17 13:09
< >
分享
最佳答案
0

我之前做的时候是用SQLite和webService,当时主要是为了数据的及时性,我做的是超市存取柜那种,所以及时性很高,客户刷了卡后如果去服务器找数据会很慢,就用SQLite了,然后每50秒同步一次数据,网络不正常的时候就先放本地,等正常再同步,其实同步不会太难,就是注意一下增删改逻辑,在本里的表里多几个标识字段,比如 该条数据 是否已更改,是否已成功同步,是否是新加数据,等等。。

收获园豆:30
hexllo | 菜鸟二级 |园豆:318 | 2013-07-19 09:07
其他回答(4)
0

构造合适的DTO,在本地保存,有网络将DTO 通过 WCF 进行同步

收获园豆:10
Yu | 园豆:12980 (专家六级) | 2013-07-17 13:37

之前有知道过Sqlserver有对这种离线程序的解决方案··我的需求将本地离线添加的数据增加到数据库中。还有就是将本地数据进行更新··所以这里会存在一些数据同步的难题。是否会存在 一些SQLLite轻量级数据库和SQLserver同步的机制·或者其他··

支持(0) 反对(0) xiaoZz | 园豆:120 (初学一级) | 2013-07-17 13:43

@xiaoZz: 自己写代码控制较好

支持(0) 反对(0) Yu | 园豆:12980 (专家六级) | 2013-07-17 14:01
0

本地自己保存成自己想要的数据格式或是用简单的数据库如sqllite。access等。

在有网络的时候通过wcf或WebService或其他方式同步到服务器就ok了吧。

收获园豆:10
来自北方 | 园豆:399 (菜鸟二级) | 2013-07-17 13:43

我也有这种想法··轻量级数据库和SQLServer的同步机制有没有现成的解决方案··还是得自己写代码啊·

支持(0) 反对(0) xiaoZz | 园豆:120 (初学一级) | 2013-07-17 13:44
0

记录数据到缓存,并且在本地记录到一份文件中(如XML),在网络联通的时候把数据同步过去

收获园豆:10
Zachary_Fan | 园豆:762 (小虾三级) | 2013-07-17 16:17

XML也考虑过··我的需求存在 客户端和服务器 双方相互同步数据的情况。我需要判断数据是否在双方都是是否存在。table 对 table会更好操作 如果是 xml对table操作起来 或者数据量打起来的话 是不是有些够呛···

支持(0) 反对(0) xiaoZz | 园豆:120 (初学一级) | 2013-07-17 17:10

@xiaoZz: 不然只能搞个轻量级的数据库做中转了。

支持(0) 反对(0) Zachary_Fan | 园豆:762 (小虾三级) | 2013-07-17 17:13
0

一般是不管连不连网所有写入都先本地保存,然后如果有网络,就写入到远程服务器,过程类似数据库日志的原理。本地保存可以Dataset序列化、用mdb或者用sqlce。

这种模式一般移动应用上用,PDA客户端上以前好多这种程序,但现在也很少了,现在哪儿连不上网啊。

以前微软老推的那个Smart Client就是讲用这种模式写代码,但是,明显不符合发展趋势,想想google所有的应用都是必须联网的。

收获园豆:30
天边彩云 | 园豆:629 (小虾三级) | 2013-07-17 16:26

关键是存在 我需要把客户端不存在的数据从服务器上拉过来··客户端新增的数据推送给服务器。。这其中会存在 exists  和 not exists的问题  我就是想找一种 轻量级别的桌面数据库和服务器数据库之间同步的机制··

支持(0) 反对(0) xiaoZz | 园豆:120 (初学一级) | 2013-07-17 17:13
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册