Je crois comprendre que tous les types (autres que certaines primitives comme int et string) utilisés dans un contrat de service WCF doivent être déclarés avec l'attribut ServiceKnownType. Mais, j'ai construit un objet personnalisé et il est transmis à travers mon service WCF sans problème - même si je n'ai pas ajouté un ServiceKnownType pour cela. Quelqu'un peut-il expliquer pourquoi cela fonctionne?Pourquoi ServiceKnownType n'est-il pas nécessaire pour mon objet?
[ServiceContract(CallbackContract = typeof(IMyServiceCallback))]
public interface IMyService
{
[OperationContract]
List<MyObject> LoadMyObjects();
}
[DataContract]
public class MyObject
{
[DataMember]
private int batchID;
[DataMember]
private int fileID;
[DataMember]
private string fileName;
[DataMember]
private DateTime importStartTime;
// ...
}
Merci. Est-ce que cela a toujours été vrai ou est-ce un changement récent à la WCF? Je suppose que je n'ai jamais réalisé. – TheSean
Oui, cela est vrai depuis la première version de WCF. –