首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >禁用Silverlight RIA服务中的DomainContext / DomainDataSource缓存

禁用Silverlight RIA服务中的DomainContext / DomainDataSource缓存
EN

Stack Overflow用户
提问于 2011-10-31 20:15:08
回答 2查看 2K关注 0票数 2

我使用带有过滤描述符的DomainDataSource,但是DomainDataSource (或DomainContext)似乎正在缓存旧数据,而不是用数据库中的新数据替换它。

代码语言:javascript
复制
<riacontrols:DomainDataSource
        AutoLoad="True"
        LoadSize="5"                        
        Name="employeeDomainDataSource"
        QueryName="GetEmployeeQuery" Width="0" DomainContext="{Binding EmployeeContext}">
        <riacontrols:DomainDataSource.FilterDescriptors>                
            <riacontrols:FilterDescriptor IsCaseSensitive="False" PropertyPath="Name" Operator="Contains" Value="{Binding ElementName=NameFilter, Path=Text}"/>
        </riacontrols:DomainDataSource.FilterDescriptors>
    </riacontrols:DomainDataSource>

我还有一个DataPager控件。

假设用户A和B加载数据。用户B在编辑模式下更改员工的姓名。用户A键入新名称作为筛选器,将获取数据,但显示旧的(缓存的)名称。我使用了fiddler,我可以看到从数据库和see服务返回了正确的数据。

有什么办法可以把它关掉吗?

EN

回答 2

Stack Overflow用户

发布于 2011-10-31 22:58:37

我认为您需要在数据上指定一个LoadOption。

我记不清了,也找不到文档,但我相信您需要重写DomainDataSource上的LoadingData事件,并设置args.MergeOption。尝试“刷新当前”。

票数 3
EN

Stack Overflow用户

发布于 2011-11-04 10:34:30

您应该在Load方法中将LoadBehavior设置为RefreshCurrent :如下所示:context.Load(query, LoadBehavior.RefreshCurrent, loadOpt =>{},null);

http://msdn.microsoft.com/en-us/library/system.servicemodel.domainservices.client.loadbehavior%28v=vs.91%29.aspx

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7953553

复制
相关文章

相似问题

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