zoukankan      html  css  js  c++  java
  • Silverlight开发使用WCF RIA Services的DomainContext和数据缓存

    所谓的利用WCF Ria Service开发,其实就是新建一个silverlight的business application项目,其中以.web结尾的项目作为服务器端并承载WCF服务.svc;而silverlight项目作为富客户端,使用自动产生的DomainContext作为WCF代理,去访问WCF服务。此处所说的数据缓存只讨论客户端的缓存,web服务端直接用Cache类。习惯了HTML开发,让我们忘记了还有浏览器端数据缓存,而不是通常的HTML片段缓存。

    虽然缓存算法很简单,但是我们完全不用自己实现。 DomainContext对象管理着这些数据,是一个很好的缓存容器。

    A DomainContext is a stateful client-side representation of a domain service。既然是一个stateful有状态的context,数据缓存得来全不费功夫。我们通过Load<ObjectData>查询到的数据,其实全都保存在EntitySet<ObjectData>类型的属性ObjectDatas中。这样如果我们要取一些不会经常改变的数据时,就可以直接从DomainContext的这些属性中找到,如果已经加载过了。从而达到了缓存数据的目的。

    关键是要有唯一的DomainContext对象,我们可以用单件模式实现:

     public class DataContextSigleton
        {
            static DataContext context;
            public static DataContext Current
            {
                get
                {
                    if (context == null)
                        context = new DataContext();
                    return context;
                }
            }
        }

     Silverlight的开发更像WinForm开发,而不是Web开发。

  • 相关阅读:
    同余方程
    倒酒
    机器翻译
    vue 锚点定位
    解决vuex刷新页面数据丢失
    h5 input失去焦点软键盘把页面顶起
    js 监听ios手机键盘弹起和收起的事件
    js 将数组中的每一项安装奇偶重新组合成一个数组对象
    moment.js获取本周本月本年的开始日期和结束日期
    vue 所有的路由跳转加一个统一参数
  • 原文地址:https://www.cnblogs.com/hjblog/p/2196324.html
Copyright © 2011-2022 走看看