在下面的案例中,我需要WCF的最佳实践,
我需要将对象实例发送到WCF服务,WCF服务处理和更新同一个对象并将其发送回客户端。
那么,使用最佳实践,我应该需要维护两个对象实例吗?或者我可以使用相同的实例并更新并发回。请给我建议。
请参阅下面的代码,以了解我当前的写作方式。请帮帮忙。
[OperationContract]
Customer DoProcess(Customer customer);发布于 2014-05-27 12:38:14
因为您不想持久化发送的对象,所以不需要维护两个对象。最好不要创建多个引用,也不要创建对象。
在对象的情况下,您将有一个单独的副本,这意味着更多的内存,在引用变量中,您还将浪费4到8个字节+ CPU开销。
根据内存管理的原则,我建议您进行相同的更新并返回。
发布于 2014-05-28 06:52:30
考虑以下场景:客户端调用WCF函数并传递一个customer作为参数。
Customer c = new Customer();
WCFProxy.DoProcess(c);现在,对象将被序列化并发送到wcf服务。服务现在将按照以下方式执行DoProcess函数;
Customer DoProcess(Customer customer){
customer.name = 'abc';
return customer;
}这将不会更新客户端传递的客户。它将返回一个将被序列化并传递给客户端的新客户。
因此,在客户端上,您可以将customer实例设置为返回的客户:
c = WCFProxy.DoProcess(c);https://stackoverflow.com/questions/23889534
复制相似问题