Data Contracts
Use the
DataMemberAttribute
on properties or read-only public members only.Avoid explicit XML serialization on your own types.
When using the
Order
property, assign the same value to all members coming from the same level in the class hierarchy.Support
IExtensibleDataObject
on your data contracts.Avoid setting
IgnoreExtensionDataObject
on theServiceBehavior
andCallbackBehavior
attributes totrue
. Keep the default offalse
.Do not mark delegates and events as data members.
Do not pass .NET-specific types, such as
Type
, as operation parameters.Do not accept or return ADO.NET
DataSet
andDataTable
(or their type-safe subclasses) from operations. Return a natural representation such as an array.Suppress the generation of a generic type parameter hash code and provide a legible type name instead.
Avoid the
/ct
switch of SvcUtil or any other way of sharing an assembly type across the service boundary.
Get Programming WCF Services now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.