开发者

Reuse classes and objects for both WCF and non-WCF

开发者 https://www.devze.com 2022-12-25 07:32 出处:网络
I have several classes such as Order, Customer, etc. These classes serve for holding data and nothing more.I want to be able to reuse these classes in other projects in the future, but for some reason

I have several classes such as Order, Customer, etc. These classes serve for holding data and nothing more. I want to be able to reuse these classes in other projects in the future, but for some reason I don't quite understand, WCF forces me to decorate the data members with the [DataMember] a开发者_开发百科ttribute, forcing me to reference WCF plumbing that I will never use in other projects.

I would imagine that WCF lets you take any serializable class and use it as a content type. Am I understanding this correctly?


Yes, with .NET 3.5 SP1, the WCF DataContractSerializer will now serialize any POCO class just the same way as the XmlSerializer will - any public property will be serialized.

I don't know for sure whether that's a good thing - one of the pillars of WCF is being explicit, in order to clearly state your intent. I personally find it a good thing to mark your classes with [DataContract] and your fields and properties you want to have serialized explicitly with [DataMember] - it makes it clearer as to what's going on, and it doesn't hurt your POCO class at all.

And btw: you don't have to reference any "WCF plumbing" to do this - those attributes live in System.Runtime.Serialization - a very generic system assembly.....

0

精彩评论

暂无评论...
验证码 换一张
取 消