Tipo conocido de WCF del sistema. Objeto en la configuración

Estoy tratando de especificar un tipo conocido en mi configuración, pero tengo problemas con el hecho de que deriva de Object. Puedo hacerlo funcionar especificando el tipo conocido a través del atributo. Pero en este caso necesito hacer que funcione desde la configuración.

Aquí hay un ejemplo. Lo siguiente funciona bien:

[ServiceContract]
[ServiceKnownType(typeof(MyData))]
public interface IContract
{
    [OperationContract]
    void Send(object data);
}

[DataContract]
public class MyData
{
    [DataMember]
    public string Message { get; set; }
}

Pero si elimino el atributo ServiceKnownType y pongo lo siguiente en la configuración:

<system.runtime.serialization>
  <dataContractSerializer>
    <declaredTypes>
      <add type="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
        <knownType type="WpfApplication1.MyData, WpfApplication1, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"/>
      </add>
    </declaredTypes>
  </dataContractSerializer>
</system.runtime.serialization>

Recibo una ConfigurationErrorsException con el mensaje "El valor de la propiedad 'tipo' no es válido. El error es: El tipo System.Object no se puede usar como un tipo declarado en la configuración".

¿Hay alguna forma de hacer que esto funcione a través de la configuración?

Respuestas a la pregunta(2)

Su respuesta a la pregunta