WCF bekannter Typ aus System.Object in Config

Ich versuche, einen bekannten Typ in meiner Konfiguration anzugeben, habe jedoch Probleme damit, dass er von Object stammt. Ich kann es arbeiten lassen, den bekannten Typ über Attribut spezifizierend. Aber in diesem Fall muss ich dafür sorgen, dass es in der Konfiguration funktioniert.

Hier ist ein Beispiel. Folgendes funktioniert einwandfrei:

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

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

Aber wenn ich das ServiceKnownType-Attribut entferne und Folgendes in die Konfiguration schreibe:

<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>

Ich erhalte eine ConfigurationErrorsException mit der Meldung "Der Wert für die Eigenschaft 'type' ist ungültig. Der Fehler lautet: Der Typ System.Object kann in config nicht als deklarierter Typ verwendet werden."

Ist es trotzdem da, um dies über die Konfiguration zu erledigen?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage