Tipo conhecido do WCF do System.Object na configuração
Estou tentando especificar um tipo conhecido na minha configuração, mas estou tendo problemas com o fato de que deriva de Object. Eu posso fazê-lo funcionar especificando o tipo conhecido via atributo. Mas neste caso eu preciso fazê-lo funcionar a partir da configuração.
Aqui está um exemplo. O seguinte funciona bem:
[ServiceContract]
[ServiceKnownType(typeof(MyData))]
public interface IContract
{
[OperationContract]
void Send(object data);
}
[DataContract]
public class MyData
{
[DataMember]
public string Message { get; set; }
}
Mas se eu remover o atributo ServiceKnownType e colocar o seguinte na configuração:
<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>
Recebo uma ConfigurationErrorsException com a mensagem "O valor da propriedade 'type' não é válido. O erro é: O tipo System.Object não pode ser usado como um tipo declarado na configuração."
Existe alguma maneira de fazer isso funcionar via config?