社区
Web Services
帖子详情
WCF和DataSet
hotyei
2010-11-09 01:04:47
各位高手请指教:
定义了这样一个契约,返回一个数据集:
DataSet GetData(string SQLStr);
客户端也可以正常地接收对应的数据,但现在问题是客户端所作的修改,怎样提交到数据库上面??
...全文
375
11
打赏
收藏
WCF和DataSet
各位高手请指教: 定义了这样一个契约,返回一个数据集: DataSet GetData(string SQLStr); 客户端也可以正常地接收对应的数据,但现在问题是客户端所作的修改,怎样提交到数据库上面??
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xiaobo
2010-12-23
打赏
举报
回复
DataSet.GetChanges()传递到服务端即可!
hotyei
2010-11-19
打赏
举报
回复
谢谢楼上。
lhzyn
2010-11-17
打赏
举报
回复
findcaiyzh所说的类型安全的意思是,已经定义好的有固定的属性或字段的类型,例如他定义的class Contact,
Dataset的不安全就在于,它存储的内容的属性是动态的,某个表可能有可能没有,表里面的字段也是不确定的.
使用Dataset作为DataContract一般都是不得已实在没办法时的选择.
对于这个:
这样的方法固然可行,但如果数据量非常大的情况下(如100000笔记录),如果我仅仅修改了一笔资料,这样会不会出现客户端重新将这100000笔资料重新回传到服务端的情况。如果真是这样,那么速度就会非常的慢。
你应该在程序里做好控制,保证提交的Dataset中都是需要更新的数据.
hotyei
2010-11-10
打赏
举报
回复
谢谢各位!
由于我们使用了用户自定义字段(客户自已向数据库添加一些字段),所以不能使用List<对象类别>的方式将数据传送到客户端,而必须使用DataSet的方式。
还望高手说一下使用DataSet有什么不好,类型安全又是指什么呢?
机器人
2010-11-10
打赏
举报
回复
[Quote=引用 3 楼 hotyei 的回复:]
上面两位高手,你们好!
通过:
void UpdateDatabase(DataSet _DataSetToUpdate);
这样的方法固然可行,但如果数据量非常大的情况下(如100000笔记录),如果我仅仅修改了一笔资料,这样会不会出现客户端重新将这100000笔资料重新回传到服务端的情况。如果真是这样,那么速度就会非常的慢。
[/Quote]
DataSet里只保存修改的一笔数据。。。
Devillyd
2010-11-10
打赏
举报
回复
[Quote=引用 4 楼 findcaiyzh 的回复:]
那就最好别用Dataset了,dataset不是类型安全的。
可以使用这样的
[DataContract(Namespace = "*****", Name = "Contact")]
class Contact
{
[DataMember(Order = 1)]
public int ContactId{get;set;};
[DataMember(Order ……
[/Quote]
顶
宝_爸
2010-11-10
打赏
举报
回复
那就最好别用Dataset了,dataset不是类型安全的。
可以使用这样的
[DataContract(Namespace = "*****", Name = "Contact")]
class Contact
{
[DataMember(Order = 1)]
public int ContactId{get;set;};
[DataMember(Order = 2)]
public string FirstName{get;set;};
[DataMember(Order = 3)]
public string LastName{get;set;};
[DataMember(Order = 4)]
public string Email{get;set;};
}
List<Contact> GetContacts(string SQLStr)
{
}
void UpdateContact(Contact newContact)
{
//根据Id更新数据库。
}
注意:以上代码没有经过编译,可能有些许错误。
潇洒王子
2010-11-10
打赏
举报
回复
直接根据ID修改记录,返回数据库即可,别搞的 太复杂
hotyei
2010-11-09
打赏
举报
回复
上面两位高手,你们好!
通过:
void UpdateDatabase(DataSet _DataSetToUpdate);
这样的方法固然可行,但如果数据量非常大的情况下(如100000笔记录),如果我仅仅修改了一笔资料,这样会不会出现客户端重新将这100000笔资料重新回传到服务端的情况。如果真是这样,那么速度就会非常的慢。
MarcuseXiao
2010-11-09
打赏
举报
回复
可序列化的类型(DataSet,或者自定义的DataContract)都可以作为参数进行调用的,跟类调用一样的
lhzyn
2010-11-09
打赏
举报
回复
客户端既然可以接收DataSet,当然也可以把修改后的DataSet提交到WCFService进行数据库更新啦.
你可以在契约中定义一个方法例如
void UpdateDatabase(DataSet _DataSetToUpdate);
另外
既然使用了WCF,最好不要定义这样的方法DataSet GetData(string SQLStr),把Sql语句传到WCFService执行还不如直连数据库来的直接.
使用
WCF
实现
DataSet
传输功能(后端)
本文介绍了如何使用
WCF
在后端实现
DataSet
的传输,包括创建服务接口、实现服务类、配置服务以及创建客户端应用程序。通过示例代码展示了Get
DataSet
和Send
DataSet
操作,帮助理解在分布式应用程序中传输
DataSet
的方法。
DataSet
在
WCF
中怎么办?
本文探讨了
WCF
服务与Java客户端之间的互操作性问题,特别是关于
DataSet
的数据绑定问题。建议使用强类型数据集或其他替代类型如数组、XmlNode等来解决跨平台问题。
wcf
传输
Dataset
大数据量(转)
本文探讨了在
WCF
环境中使用
DataSet
时如何通过设置RemotingFormat为Binary和使用ICSharpCode.SharpZipLib.dll进行压缩来减小
DataSet
的体积,以提高数据传输效率。
WCF
传输
Dataset
大数据量 -压缩
本文探讨了在
WCF
中使用
DataSet
作为查询集合返回类型的优化方法。由于DataTable无法被
WCF
直接传输,通常选择使用
DataSet
。文中提供了两种减少
DataSet
体积的有效手段:一是将其RemotingFormat属性设置为Binary;二是使用ICSharpCode.SharpZipLib.dll组件进行压缩。
WCF
+JSON vs WebService+
DataSet
性能实战对比
本文基于真实生产环境,对
WCF
+JSON+DTO与WebService+
DataSet
两种.NET分布式通信方案进行系统性性能对比。重点分析网络传输字节数、服务器CPU/内存占用、客户端解析耗时及开发维护成本四大维度,实测显示JSON方案在100并发下传输效率提升3倍、内存占用降低57%、移动端解析快4.4倍。技术细节涵盖序列化优化、流式传输配置、XSD元数据膨胀问题及迁移三步走策略,为老旧系统升级提供量化决策依据。
Web Services
12,165
社区成员
16,322
社区内容
发帖
与我相关
我的任务
Web Services
.NET技术 Web Services
复制链接
扫一扫
分享
社区描述
.NET技术 Web Services
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章