WCF Известный тип из System.Object в Config

Я пытаюсь указать известный тип в моей конфигурации, но у меня проблемы с тем, что он происходит от объекта. Я могу заставить его работать, указав известный тип через атрибут. Но в этом случае мне нужно заставить его работать из конфига.

Вот пример. Следующее работает отлично:

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

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

Но если я удалю атрибут ServiceKnownType и добавлю в конфигурацию следующее:

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

Я получаю исключение ConfigurationErrorsException с сообщением «Недопустимое значение свойства« тип ». Ошибка: тип System.Object не может использоваться в качестве объявленного типа в конфигурации».

Есть ли способ заставить это работать через конфиг?

Ответы на вопрос(1)

Ваш ответ на вопрос