cs系统,包含多个客户端,每个客户端本地有数据库,大部分业务通过本地完成
客户端一些数据(包括生成,更改)需要上传到后台数据库,实时性要求不是很高,一两个小时或更长时间更新一次即可。
请大家给个思路,通过什么方法实现比较靠谱,技术比较成熟,最好有案例。
这个问题困扰我很久了,以前都是通过数据库直接完成客户端和后台数据的操作。但是感觉受网络状况影响太大。
谢谢大家,我会尽量给分。
------解决思路----------------------
通过webservice将客户端数据上传到服务器端
------解决思路----------------------
WCF http://msdn.microsoft.com/zh-cn/library/ms734712.aspx
------解决思路----------------------
如果你刚刚想到脱离“调用关系数据库客户端驱动”的方式来传数据,那么可能这是最简单的入门的做法。
比较专业的做法是使用轻而且快的简单通讯方式,不使用过度包装而且沉重的 rpc 通讯方式。但是那不如上述的入手快(需要你多花7天时间去学习)。
------解决思路----------------------
就是弄个Http页面接受Post,Post过来一个XML或者Json之类的,然后你把数据反序列化,插入你相应的表里。
WebService说白了就是帮你做了序列化和反序列化的事情。
------解决思路----------------------
只上传不下载?用文件好了。
按照网络环境和安全性要求的不同,可以直接开共享目录、也可以开FTP服务。
一次更新要上传的大概包括这些文件:
一个命令文件,描述要做的操作,各个操作对应的数据文件名;
n个数据文件(建议用csv,直接导入或OPENROWSET都很方便);
一个结束文件(空白文件,用来标记上传结束)。
服务端开一个后台程序,定时扫描目录。
发现一个结束文件,按统一的文件名命名规则打开命令文件,然后更新数据,最后把这组文件删除或移动到备份目录。
这样客户端和服务器完全是异步的。
一时的网络故障也没关系,客户端可以再本地累积多次更新,网络恢复后再顺次上传。
------解决思路----------------------
捡起tcpclient就用的表示看不太懂楼上说的,做完手头的活看看能不能优化下现有程序

------解决思路----------------------
服务端也可以响应客户端请求,生成文件组,主动发送或让客户端来取。