首页 > 代码库 > Silverlight RIA Services缓存引发的问题
Silverlight RIA Services缓存引发的问题
问题描述:使用Silverlight的RIA Services进行数据库更新操作,重复提交时发现异常,SubmitOperation发生错误,提示实体类冲突,检查发现之前删除的数据竟然还存在(数据库中已经删除),再进行删除操作时,会对数据库中已经不存在的数据进行删除,所以报错。
解决办法:每次提交操作中都重新Load一次,保证与数据库的数据是同步的,对Load的数据进行操作,清除缓存数据的影响,问题得到解决。
原因:这是因为RIA Services每次都会根据查询条件将数据库中的数据取出来放到客户端,并做成实体类的形式方便开发者进行数据增删改查,再通过SubmitChange方法提交所有操作,对数据库进行更新,这就可能造成数据库更新了,但是在客户端的数据还没有更新,引发错误。
另外,提交前需要对Domain Services的IsSubmitting、IsLoading状态进行判断处理,避免提交失败。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。