【问题标题】:Reuse classes and objects for both WCF and non-WCF为 WCF 和非 WCF 重用类和对象
【发布时间】:2010-03-30 19:44:11
【问题描述】:

我有几个类,例如 Order、Customer 等。这些类用于保存数据,仅此而已。我希望将来能够在其他项目中重用这些类,但由于某种我不太明白的原因,WCF 迫使我用 [DataMember] 属性装饰数据成员,迫使我引用我的 WCF 管道永远不会在其他项目中使用。

我认为 WCF 允许您采用任何可序列化的类并将其用作内容类型。我理解正确吗?

【问题讨论】:

    标签: wcf


    【解决方案1】:

    是的,在 .NET 3.5 SP1 中,WCF DataContractSerializer 现在将像 XmlSerializer 一样序列化任何 POCO 类 - 任何公共属性都将被序列化。

    我不确定这是否是一件好事 - WCF 的支柱之一是明确的,以便清楚地说明您的意图。我个人认为用 [DataContract] 标记你的类以及你想用 [DataMember] 显式序列化的字段和属性是一件好事 - 它可以更清楚地了解正在发生的事情,并且不会伤害你的 POCO 类完全没有。

    顺便说一句:您不必参考 任何“WCF 管道”来执行此操作 - 这些属性存在于 System.Runtime.Serialization - 一个非常通用的系统组件.....

    【讨论】:

    • 谢谢!男孩,我需要摆脱旧学校的思维方式。我总是厌倦我必须添加代码的任何情况。在这种特殊情况下,我担心额外的装饰只会为了 WCF 而添加代码。正如您所展示的,额外的代码对其他 .NET 技术很有用。 .NET 的人真的很认真地考虑过设计。 .NET 中的所有内容似乎都很好地结合在一起。它让你有你的蛋糕,也吃它。我经常离开代码,惊叹于它的可理解性和美观性! .NET 看起来像是软件开发的圣杯。
    猜你喜欢
    • 2010-09-06
    • 1970-01-01
    • 1970-01-01
    • 2012-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多