【问题标题】:Gratuitous use of System.Runtime.Serialization attributes?无故使用 System.Runtime.Serialization 属性?
【发布时间】:2010-03-23 23:26:00
【问题描述】:

System.Runtime.Serialization 属性(如[DataContract])装饰一个类是否有任何成本/缺点(除了输入太多),以便它可以在本地用作对桌面客户端项目的直接引用 作为 WCF 服务的类型?这里的目标是编写一个可在富客户端 (WPF) 和 Web 场景中使用的数据层类。我的数据类将位于与客户端 WCF(*.svc代码隐藏)代码分开的项目中。这是重用代码的有效尝试吗?

【问题讨论】:

    标签: wpf wcf silverlight serialization


    【解决方案1】:

    装饰类、属性或方法不会产生任何成本 - 除了编写属性所花费的时间。该属性将被编译为类型的元数据,然后被另一个组件用于实现附加功能。

    【讨论】:

      【解决方案2】:

      我能看到的唯一缺点是在程序集中包含属性的成本。除非使用它们,否则它们对性能的影响很小。

      我不会说,但它确实使 .DLL 更大,并且确实将 RTTI 在程序集中分散了一点,尤其是如果您将类推送到读取块边界上,可能会减慢程序集负载(导致一些额外的要读取的块,否则不会)。然而,这些差异通常只在冷启动测试中才明显。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-01-06
        • 2013-02-26
        • 1970-01-01
        • 1970-01-01
        • 2021-03-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多