R*****i 发帖数: 2126 | 1 我现在需要用WCF作一个同步服务,就是把客户端的数据库和文件跟服务器的数据库和
文件相互更新。我们的客户都在条件特别恶劣的地方,也就是说,网络的带宽不仅窄,
而且流量费用巨高,所以需要尽量减少流量。我们公司的技术大牛(Lead Developer)
已经做过类似的同步服务。他的做法如下,不管是数据库的数据,还是文件,他都把它
们转化成byte[]。如果是数据库的数据,他把它们压缩成byte[],如果是文件,就把他
切成一块一块(chunk)传送,我查了一下他的设定,绑定直接用的是wsHttpBinding,里
面用的都是缺省的设置。我想问一下大牛,他的这种做法有没有问题啊?
我这两天一直在琢磨,上网查资料,我总感觉数据库的数据和文件应该分别对待,数据
库的数据可以用wsHttpBinding,但是文件应该用Stream来传输(wsHttpBinding不支持
Stream),现在的问题是basicHttpBinding的Security好像不容易搞定,要知道,上传/
下载文件也需要传递用户名和密码,然后根据服务器里的数据库数据来决定是否授权。
请指点迷津。 |
R*****i 发帖数: 2126 | 2 我现在需要用WCF作一个同步服务,就是把客户端的数据库和文件跟服务器的数据库和
文件相互更新。我们的客户都在条件特别恶劣的地方,也就是说,网络的带宽不仅窄,
而且流量费用巨高,所以需要尽量减少流量。我们公司的技术大牛(Lead Developer)
已经做过类似的同步服务。他的做法如下,不管是数据库的数据,还是文件,他都把它
们转化成byte[]。如果是数据库的数据,他把它们压缩成byte[],如果是文件,就把他
切成一块一块(chunk)传送,我查了一下他的设定,绑定直接用的是wsHttpBinding,里
面用的都是缺省的设置。我想问一下大牛,他的这种做法有没有问题啊?
我这两天一直在琢磨,上网查资料,我总感觉数据库的数据和文件应该分别对待,数据
库的数据可以用wsHttpBinding,但是文件应该用Stream来传输(wsHttpBinding不支持
Stream),现在的问题是basicHttpBinding的Security好像不容易搞定,要知道,上传/
下载文件也需要传递用户名和密码,然后根据服务器里的数据库数据来决定是否授权。
请指点迷津。 |
k**n 发帖数: 3989 | 3 本质都是byte, 统一压缩后传送, 你们大牛做得没错. 你的想法增加了复杂度, 网络
传铉也不可靠..
【在 R*****i 的大作中提到】 : 我现在需要用WCF作一个同步服务,就是把客户端的数据库和文件跟服务器的数据库和 : 文件相互更新。我们的客户都在条件特别恶劣的地方,也就是说,网络的带宽不仅窄, : 而且流量费用巨高,所以需要尽量减少流量。我们公司的技术大牛(Lead Developer) : 已经做过类似的同步服务。他的做法如下,不管是数据库的数据,还是文件,他都把它 : 们转化成byte[]。如果是数据库的数据,他把它们压缩成byte[],如果是文件,就把他 : 切成一块一块(chunk)传送,我查了一下他的设定,绑定直接用的是wsHttpBinding,里 : 面用的都是缺省的设置。我想问一下大牛,他的这种做法有没有问题啊? : 我这两天一直在琢磨,上网查资料,我总感觉数据库的数据和文件应该分别对待,数据 : 库的数据可以用wsHttpBinding,但是文件应该用Stream来传输(wsHttpBinding不支持 : Stream),现在的问题是basicHttpBinding的Security好像不容易搞定,要知道,上传/
|
y****9 发帖数: 252 | 4 补充一句,传输之前可以做MD5校验,可以避免重复传输。。。主流网盘上面的秒传的
原理就是这个,如果用户A已经上传了某小电影,B再上传,即使AB之间不认识,服务器
对比MD5之后,不必再传。 |
w******a 发帖数: 173 | 5 如果是SOAP endpoint,考虑到security,只能用wsHttp了. |
c*********e 发帖数: 16335 | 6 为啥用wcf? 直接写c#/php/java code来更新不行吗,还能用try catch写exception
handling code,rollback.
【在 R*****i 的大作中提到】 : 我现在需要用WCF作一个同步服务,就是把客户端的数据库和文件跟服务器的数据库和 : 文件相互更新。我们的客户都在条件特别恶劣的地方,也就是说,网络的带宽不仅窄, : 而且流量费用巨高,所以需要尽量减少流量。我们公司的技术大牛(Lead Developer) : 已经做过类似的同步服务。他的做法如下,不管是数据库的数据,还是文件,他都把它 : 们转化成byte[]。如果是数据库的数据,他把它们压缩成byte[],如果是文件,就把他 : 切成一块一块(chunk)传送,我查了一下他的设定,绑定直接用的是wsHttpBinding,里 : 面用的都是缺省的设置。我想问一下大牛,他的这种做法有没有问题啊? : 我这两天一直在琢磨,上网查资料,我总感觉数据库的数据和文件应该分别对待,数据 : 库的数据可以用wsHttpBinding,但是文件应该用Stream来传输(wsHttpBinding不支持 : Stream),现在的问题是basicHttpBinding的Security好像不容易搞定,要知道,上传/
|
H*******g 发帖数: 6997 | 7 你有点答非所问。。。WCF是SERVICE, C#是语言。。。不能这样类比把。
【在 c*********e 的大作中提到】 : 为啥用wcf? 直接写c#/php/java code来更新不行吗,还能用try catch写exception : handling code,rollback.
|