Laden...

[erledigt] List mit eigenen Objekten über WCF Übertragen

Erstellt von mo# vor 12 Jahren Letzter Beitrag vor 12 Jahren 852 Views
mo# Themenstarter:in
187 Beiträge seit 2009
vor 12 Jahren
[erledigt] List mit eigenen Objekten über WCF Übertragen

Hallo Zusammen,

ich habe ein kleines Problem mit einem WCF-Service.
Ich habe eine Liste vom Typ List<stcMessage> welche Messageobjekte beinhaltet, welche wiederum vom eigenen Typ stcMessage sind.
Wenn ich nun die per WCF verfügbaren Methode getMessages() im Client aufrufe bekomme ich eine Liste mit der korrekten Anzahl an stkMessage-Objekte darin, jedoch sind die Elemente aus dem Strukt alle leer bzw. initial (das DateTime-Feld z.B. hat 01.01.0001….). Der Client kennt das Strukt über eine DLL welche sich Server und Client teilen.
Ich habe bereits versucht bei der Definition des Struktelements das Attribut [Serializable] zu verwenden was jedoch nichts gebracht hat.
Hat jemand eine Idee? Ich verzweifele so langsam…

Hier die Codeschnipsel:
Methode im WCF

        
public List<stcMessage> getMessages(string strId)
        {
            return [...]
        }

Im Service Contract


    [ServiceKnownType(typeof(List<stcMessage>))] //Testweise
[...]
[OperationContract]
        List<stcMessage> getMessages(string strId);

Die Definition des Strukts:

 [DataContract]
    [Serializable()]
    public struct stcMessage
    {
        /// <summary>
        /// Zeitstempel der Message
        /// </summary>
        [EnumMember]
        public DateTime dtTime;

        /// <summary>
        /// The type for this Message.
        /// </summary>
        [EnumMember]
        public enmMessageType mtype;
        /// <summary>
        /// The content of the message.
        /// </summary>
        [EnumMember]
        public string mstrMessage;
  [...]
    }

Im Aufrufenden Client

 _obJobHandlingClient.getMessages(keyValuePair.Key);
G
538 Beiträge seit 2008
vor 12 Jahren
[EnumMember]

bezieht sich, wie der Name schon sagt, nur auf Elemente aus einem Enum.
Du musst (glaube ich)

[DataMember]

benutzen.

Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann - umgekehrt ist das schon schwieriger (K. Tucholsky)
Das Problem mit Internet-Zitaten ist, dass sie oftmals zu unrecht als authentisch angenommen werden. (K. Adenauer)

mo# Themenstarter:in
187 Beiträge seit 2009
vor 12 Jahren

Dat wars. Vielen vielen vielen Dank fürs Augen öffnen.
😉