Extensibility interfaces for Windows Phone 7 and Silverlight 3

The extensibility interfaces (IClientMessageFormatter, IClientMessageInspector, IParameterInspector) added in Silverlight 4 were a great addition and enabled many scenarios that were, if not impossible, quite hard to accomplish before. But for applications written for SL3 (and Windows Phone 7), those extensibility points aren’t available, so doing things such as inspecting messages, adding headers, customizing serialization, etc….

Custom serialization in Silverlight

Unlike in the desktop framework, Silverlight doesn’t have a good extensibility point for replacing the serializer which is used to serialize / deserialize operation parameters (since the class DataContractSerializerOperationBehavior is not public in SL4). I wrote a post about how to replace the default serializer using the existing extensibility points in SL4 (endpoint behavior, message formatters)….