WCF Data Contracts
Click here to load reader
-
Upload
sankarsan-bose -
Category
Technology
-
view
1.814 -
download
0
Transcript of WCF Data Contracts
WCF Data Transfer & Serialization
Part1: Data ContractsSankarsan Bose
2nd November 2009
Data Transfer In Service Serializers in WCF Data Contracts Known Types Serializing Collections
Agenda
Data Transfer In Service
Client
Proxy
Host Process
Service
Serialize
Serialize
Deserialize
Deserialize
Serializers In WCF
Data Contract Serializer
• Converts .NET types to XML• Default Serializer in WCF• System.Runtime.Serializatio
n.DataContractSerializer class
• Works on DataContract & DataMember attributes
XML Serializer
• Converts .NET types to XML• Provides more control over
resultant XML attributes• Supported by ASMX
services
Data Contract
Will this class be properly serialized in WCF by DataContractSerializer ??
public sealed class DataContractSerializer : XmlObjectSerializer
DataContractAttribute is not mandatory
Data Contract
Default Serialization ; No fine grained control
Data ContractCustom Namespace
Serialized XML
Data Contract Data Contract Properties
Name – Name of the type in XML Schema
Namespace – XML Namespace
IsReference – To preserve object reference info
Data Contract
Demo
Data MemberData Member Properties
Name – Name of the element in XML Schema
Order – Order of the XML Element
IsRequired – Must be present
EmitDefaultValue – Emits a default value
Data Member
Demo
Known TypeBase Type is used method signature
Here Serializer needs additional data about the concrete class
This is done by KnownType attribute
Known Type
Demo
Serializing CollectionsCollections - Types that implement the IEnumerable interface, including arrays and generic collections
Dictionary collections - Types that implement the IDictionary or Generic IDictionary interfaces.
Serialization can be customized using CollectionDataContractAttribute
Serializing Collections
Demo
Thank You