是否可以使用WCF来实现惰性逻辑?

瓦迪姆

我有一个DataObject,可以将其视为树:

[DataContract]
public class SomeDataContract
{
    [DataMember]
    private SomeCollection collection;
    public SomeCollection Collection
    {
        get
        {
            if (collection == null)
            { 

            }
        }
    }
}

[CollectionDataContract]
public class SomeCollection : List<SomeDataContract>
{
}

我不需要下载整个树:)

埃伦·埃索内兹(ErenErsönmez)

如果我错了,请纠正我,但是我认为您正在寻求一种机制,其中WCF返回一个占位符对象,并且它进一步从服务器上检索客户端使用的真实数据(类似于Lazy<T>)。如果是这样,答案是否定的,WCF不会直接提供这种机制。

但是,您可以自己实现一些惰性,并在客户端进行进一步调用以根据需要检索对象。例如:

[DataContract]
public class SomeDataContract
{
   [DataMember]
   public int Id {get ; set;}
}

如果您使用的是代理生成,它将SomeDataContract在客户端生成作为部分类的。因此,您可以扩展它以添加Children属性:

public partial class SomeDataContract
{
   private IEnumerable<SomeDataContract> _children;
   public IEnumerable<SomeDataContract> Children
   {
       if(_children == null)
       {
           // call the WCF service, assuming such a method exists... 
           _children = GetChildren(this.Id);
       }

       return _children;
   }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

是否可以使用类型类来实现特征?

来自分类Dev

是否可以使用Ruby Sequel实现SUBSTRING_INDEX逻辑以创建列别名?

来自分类Dev

是否可以使用WCF实现长期运行的多次写入事务?

来自分类Dev

是否可以使用易失性变量来实现一致的只写同步?

来自分类Dev

是否可以使用Lisp中的宏来实现依赖类型输入的好处?

来自分类Dev

是否可以使用无侧折来实现foldl / folder?

来自分类Dev

是否可以使用Redis作为字典和AngularJs来实现拼写检查功能?

来自分类Dev

是否可以使用 Firebase 来实现分布式互斥锁?

来自分类Dev

是否可以使用解构来追加?

来自分类Dev

gRPC(.net核心实现)可以使用WCF服务吗?

来自分类Dev

有什么很酷的方法可以使用惰性评估序列来定义/计算PI?

来自分类Dev

使用CAML查询是否可以使用这种逻辑?

来自分类Dev

Webgl在处理像素时是否可以使用逻辑

来自分类Dev

可以使用静态方法来实现接口吗?

来自分类Dev

可以使用CssLayout来实现组件的绝对定位吗?

来自分类Dev

我可以使用 <span> 来实现吗?

来自分类Dev

是否可以使用CSS calc()来计算宽度/高度比?

来自分类Dev

是否可以使用花括号{}来细分Java代码?

来自分类Dev

是否可以使用LINQ来检测重复的相邻字符?

来自分类Dev

是否可以使用OFFSET和乘法来分页查询?

来自分类Dev

是否可以使用列表理解来缩短此时间?

来自分类Dev

是否可以使用流畅的DIV布局来创建?

来自分类Dev

是否可以使用“>”来选择“此”对象的子对象?

来自分类Dev

是否可以使用scala宏来构造类型?

来自分类Dev

是否可以使用较少的冗余来执行此代码?

来自分类Dev

是否可以使用Firebase安全规则来验证密钥?

来自分类Dev

是否可以使用 Microsoft Azure Queue 来替换 Thread?

来自分类Dev

是否可以使用 AppDomain 来应对 WebBrowser 内存泄漏?

来自分类Dev

是否可以使用 switch 来选择 ImageFormat?

Related 相关文章

  1. 1

    是否可以使用类型类来实现特征?

  2. 2

    是否可以使用Ruby Sequel实现SUBSTRING_INDEX逻辑以创建列别名?

  3. 3

    是否可以使用WCF实现长期运行的多次写入事务?

  4. 4

    是否可以使用易失性变量来实现一致的只写同步?

  5. 5

    是否可以使用Lisp中的宏来实现依赖类型输入的好处?

  6. 6

    是否可以使用无侧折来实现foldl / folder?

  7. 7

    是否可以使用Redis作为字典和AngularJs来实现拼写检查功能?

  8. 8

    是否可以使用 Firebase 来实现分布式互斥锁?

  9. 9

    是否可以使用解构来追加?

  10. 10

    gRPC(.net核心实现)可以使用WCF服务吗?

  11. 11

    有什么很酷的方法可以使用惰性评估序列来定义/计算PI?

  12. 12

    使用CAML查询是否可以使用这种逻辑?

  13. 13

    Webgl在处理像素时是否可以使用逻辑

  14. 14

    可以使用静态方法来实现接口吗?

  15. 15

    可以使用CssLayout来实现组件的绝对定位吗?

  16. 16

    我可以使用 <span> 来实现吗?

  17. 17

    是否可以使用CSS calc()来计算宽度/高度比?

  18. 18

    是否可以使用花括号{}来细分Java代码?

  19. 19

    是否可以使用LINQ来检测重复的相邻字符?

  20. 20

    是否可以使用OFFSET和乘法来分页查询?

  21. 21

    是否可以使用列表理解来缩短此时间?

  22. 22

    是否可以使用流畅的DIV布局来创建?

  23. 23

    是否可以使用“>”来选择“此”对象的子对象?

  24. 24

    是否可以使用scala宏来构造类型?

  25. 25

    是否可以使用较少的冗余来执行此代码?

  26. 26

    是否可以使用Firebase安全规则来验证密钥?

  27. 27

    是否可以使用 Microsoft Azure Queue 来替换 Thread?

  28. 28

    是否可以使用 AppDomain 来应对 WebBrowser 内存泄漏?

  29. 29

    是否可以使用 switch 来选择 ImageFormat?

热门标签

归档