Ich habe dieses ServicecontractWCF und Subklassen
[OperationContract(IsOneWay=true)]
void ProcessMessage(Message message);
und diese Objekte
[DataContract]
public class Message
{
[DataMember]
public long Id { get; set; }
[DataMember]
public string Body { get; set; }
}
[DataContract]
public class ExtendedMessage : Message
{
[DataMember]
public NameValueCollection AdditionalData { get; set; }
}
Will WCF der Lage zu handhaben sein, wenn ich in der Unterklasse an den Service-Methode übergeben? Oder werden alle zusätzlichen Eigenschaften gelöscht, die nicht in der Basisklasse enthalten sind?
ExtendedMessage msg = new ExtendedMessage();
...
ProcessMessage(msg);
Haben Sie diesen Effekt erzielt? Ich beschäftige mich lange mit diesen Themen. Ist es möglich in [OperationContract] HandleData (Base base) zu haben; und von SoapUI einige von Base gesuchte Objekte senden? Und dann, wenn C# wird Tatsache bewusst, dass auf der Basis ist es Hold-Instanz einer Unterklasse - so rufen Sie auch richtige Methoden (Polymorphismus und so weiter) –