首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WCF服务+向服务和客户端传递和接收相同的对象

WCF服务+向服务和客户端传递和接收相同的对象
EN

Stack Overflow用户
提问于 2014-05-27 12:32:17
回答 2查看 920关注 0票数 1

在下面的案例中,我需要WCF的最佳实践,

我需要将对象实例发送到WCF服务,WCF服务处理和更新同一个对象并将其发送回客户端。

那么,使用最佳实践,我应该需要维护两个对象实例吗?或者我可以使用相同的实例并更新并发回。请给我建议。

请参阅下面的代码,以了解我当前的写作方式。请帮帮忙。

代码语言:javascript
复制
[OperationContract]   
 Customer DoProcess(Customer customer);
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-05-27 12:38:14

因为您不想持久化发送的对象,所以不需要维护两个对象。最好不要创建多个引用,也不要创建对象。

在对象的情况下,您将有一个单独的副本,这意味着更多的内存,在引用变量中,您还将浪费4到8个字节+ CPU开销。

根据内存管理的原则,我建议您进行相同的更新并返回。

票数 0
EN

Stack Overflow用户

发布于 2014-05-28 06:52:30

考虑以下场景:客户端调用WCF函数并传递一个customer作为参数。

代码语言:javascript
复制
Customer c = new Customer();
WCFProxy.DoProcess(c);

现在,对象将被序列化并发送到wcf服务。服务现在将按照以下方式执行DoProcess函数;

代码语言:javascript
复制
Customer DoProcess(Customer customer){
customer.name = 'abc';
return customer;
}

这将不会更新客户端传递的客户。它将返回一个将被序列化并传递给客户端的新客户。

因此,在客户端上,您可以将customer实例设置为返回的客户:

代码语言:javascript
复制
c = WCFProxy.DoProcess(c);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23889534

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档