Avoid inferred data contracts (POCO). Always be explicit and apply the DataContract
attribute.
Use the DataMember
attribute only on properties
or read-only public members.
Avoid explicit XML serialization on your own types.
Avoid message contracts.
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. Use explicit interface implementation.
Avoid setting IgnoreExtensionDataObject
to
true
in the ServiceBehavior
and CallbackBehavior
attributes. Keep the default of false
.
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
s and
DataTable
s (or their type-safe subclasses) from
operations. Return a neutral representation such as an array.
Suppress the generation of a generic type parameter hash code and provide a legible type name instead.
3.143.22.23