DynamicObject und WCF-Unterstützung

8

Ich habe mich gefragt, ob jemand Glück gehabt hat, ein DynamicObject zu bekommen, um mit WCF zu serialisieren und damit zu arbeiten?

Hier ist mein kleiner Test:

%Vor%

Der Fehler, den ich bekomme, ist:

  

System.Runtime.Serialization.InvalidDataContractException wurde nicht behandelt     Message = Typ 'ElasticTest1.MyDynamicObject' kann nicht von einem Typ erben, der nicht mit DataContractAttribute oder SerializableAttribute markiert ist. Erwägen Sie, den Basistyp 'System.Dynamic.DynamicObject' mit DataContractAttribute oder SerializableAttribute zu markieren oder sie aus dem abgeleiteten Typ zu entfernen.

Irgendwelche Vorschläge?

    
rboarman 20.04.2010, 00:51
quelle

2 Antworten

9

Lösung für Ihr Problem

Implementieren Sie benutzerdefiniertes IDynamicMetaObjectProvider

    
pocheptsov 19.04.2011, 10:26
quelle
2

Können Sie etwas wie Dictionary<TKey, TValue> verwenden, um dies zu erreichen?

Ich versuche ein ähnliches Problem zu lösen. Mein Problem ist, dass ich DTOs habe, um Daten zwischen Client und Server zu übertragen. Sie sollten jedoch immer DTOs haben, die feinkörnig und abgeflacht sind.

Beispiel: Wenn ein Kunde den Namen und die ID des Kunden erhalten möchte und er an nichts anderem interessiert ist, sollten Sie idealerweise ein DTO erstellen, das nur diese beiden Eigenschaften enthält. Wenn Sie dasselbe CustomerDTO für alle Methoden übertragen, gibt es viele Auswirkungen auf die Leistung. Sie könnten viele redundante Felder übertragen.

    
Nachiket Mehta 18.02.2011 15:28
quelle