Sto cercando di specificare un tipo noto nella mia configurazione, ma sto riscontrando problemi con il fatto che derivi da Object. Posso farlo funzionare specificando il tipo noto tramite l'attributo. Ma in questo caso ho bisogno di farlo funzionare dalla configurazione.WCF di tipo noto da System.Object in Config
Ecco un esempio. Le seguenti opere di bene:
[ServiceContract]
[ServiceKnownType(typeof(MyData))]
public interface IContract
{
[OperationContract]
void Send(object data);
}
[DataContract]
public class MyData
{
[DataMember]
public string Message { get; set; }
}
Ma se rimuovere l'attributo ServiceKnownType e mettere quanto segue nella configurazione:
<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>
ottengo un ConfigurationErrorsException con il messaggio "Il valore per il 'tipo' di proprietà non è valido. L'errore è: il tipo System.Object non può essere utilizzato come un tipo dichiarato in config. "
Esiste comunque la possibilità di farlo funzionare via config?