Ich habe einige Objektklassen, die Vererbung verwenden. Es scheint, dass ich nur auf die Objekte zugreifen kann, die direkt von einem Dienst verwendet werden. Lassen Sie mich Ihnen zeigen, was ich zu erreichen versuchen:Verfügbarmachen von Objekten (DataContracts), die nicht direkt von einem WCF-Dienst verwendet werden können?
[DataContract]
public class Object1
{
[DataMember]
int Id {get; set;}
}
[DataContract]
public class object2: Object1
{
[DataMember]
string Name {get; set;}
}
[DataContract]
public class object3
{
[DataMember]
int SomeNumber {get; set;}
}
Der Service:
public int GetId(object2 obj)
{
return GetTheId(object2.Name);
}
Jetzt, da ich im Dienst bin mit object2, object1 zu serialisiert wird. Trotzdem möchte ich Objekt3 aus irgendeinem Grund verfügbar machen. Es kann eine abgeleitete Klasse sein, die ich übergeben muss, damit ihr Typ später für einen anderen Prozess bestimmt werden kann. Ich sehe nicht, dass dieses Objekt serialisiert wird. Ich nahm an, dass, wann immer Sie den DataContract/DataMember setzen, diese Objekte serialisiert werden würden. Es macht Sinn, etwas nicht zu belichten, das nicht verwendet wird, da ich ein Problem mit dem Aussetzen von Elementen sehen kann, die Sie möglicherweise nicht benötigen. Was ist der beste Weg, um Objekte anzuzeigen, die nicht direkt von einem Dienst verwendet werden? Dank
Daniel
Ich habe dieses Attribut total vergessen !!! Vielen Dank. Das war es, was ich in dieser Situation brauchte. Vielen Dank!!!!! – DDiVita
Sie können Ihren Servicevertrag auch mit [ServiceKnownType] dekorieren. :) –