Silverlight WCF RIA服务(十四)数据 4

Silverlight WCF RIA服务(十四)数据 4,第1张

概述如何自定义解决数据并发性冲突 WCF RIA Services框架把原值和更改后的值一起传递给数据访问层。这就允许数据访问层在提交数据更改之前检测数据并发性冲突。数据访问层是通过检测数据源中的当前值是否与Domain *** 作中检索到的值一致来判断冲突的。 我们可以为一个特定的实体自定义如何解决数据并发性冲突,这个方法在冲突确认时被调用。在这个方法中,可以指定步骤来解决冲突。这个方法必须匹配作为解决冲突 如何自定义解决数据并发性冲突
WCF RIA Services框架把原值和更改后的值一起传递给数据访问层。这就允许数据访问层在提交数据更改之前检测数据并发性冲突。数据访问层是通过检测数据源中的当前值是否与Domain *** 作中检索到的值一致来判断冲突的。
我们可以为一个特定的实体自定义如何解决数据并发性冲突,这个方法在冲突确认时被调用。在这个方法中,可以指定步骤来解决冲突。这个方法必须匹配作为解决冲突的方法所需的签名。格式应如下:

返回一个Boolean值。 有个Resolve名字前缀或有ResolveAttribute。 接受四个参数(current entity,original entity,store entity,和一个指定是否本 *** 作是个删除 *** 作的值)

自定义解决数据并发性冲突

在domain service中,添加一个匹配做为解决方法所需签名的方法。 在这个方法中添加解决冲突的代码。下面的代码示例了一个名为ResolveProduct的方法,这个方法在冲突发生时会从domain *** 作中合并数据。 这个自定义的冲突解决代码,通过使用ResolveOption枚举值来指定合并数据。
?
1 2 3 4 5 6 public bool ResolveProduct(Product currentProduct,Product originalProduct,Product storeProduct,Boolean deleteOperation) {     return base.Resolve(currentProduct,originalProduct,storeProduct,ResolveOption.MergeIntoCurrent); }

 
如何向Domain service添加显式事务
可以在Domain Service中添加显式事务,来执行一组变化。
创建一个显式事务
在项目中,添加对System.Transactions程序集的引用。也可以从[program files]\Reference AssemblIEs\Microsoft\Framework\.NETFramework\[version]\System.Transactions.dll 找打。 在Domain Service中,重载submit方法。 创建一个TransactionScope,它打包了对基类中submit方法的调用。 在完成事务之前,检查ChangeSet对象的HasError成员属性。示例如下:
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 [EnableClIEntAccess()] public class DomainService1 : DomainService {     public overrIDe bool submit(ChangeSet changeSet)     {         bool result = false;           using (var tx = new TransactionScope(             TransactionScopeOption.required,             new Transactionoptions { IsolationLevel = IsolationLevel.ReadCommitted })             )         {             result = base.submit(changeSet);             if (!this.ChangeSet.HasError)             {                 tx.Complete();             }         }           return result;     } }
总结

以上是内存溢出为你收集整理的Silverlight WCF RIA服务(十四)数据 4全部内容,希望文章能够帮你解决Silverlight WCF RIA服务(十四)数据 4所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1065765.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存