Ich habe dieses Tutorial verfolgt, um protobuf-net
hinzuzufügen. zu meinem WCF-Projekt. Ich habe eine gemeinsame DTO-Bibliothek. Sowohl der Server als auch der Client verwenden diese DTO-Klassen. Ich habe alle meine Service-Methoden mit [OperationContract]
-Attributen versehen, aber ich habe keine [DataContract]
-Attribute für meine DTO-Klassen vergeben.
Ich habe das protobuf-net
Nuget-Paket hinzugefügt und die Konfiguration zu web.config
hinzugefügt.
Ich verwende IIS Express, um meinen Dienst zu testen, und dachte, dass ich mit dem, was ich bisher gemacht habe, einverstanden sein sollte. Nachdem ich ein paar Anrufe getestet hatte, bemerkte ich, dass ich vergessen habe, protobuf-net
zu meinem Client hinzuzufügen und trotzdem hat alles wie erwartet funktioniert (dh keine Fehler durch Serialisierung oder Deserialisierung).
Ich vermute, dass Protobuf in meinem Programm überhaupt nicht verwendet wird, und dass ich etwas vermisse. Ich möchte die [DataContract]
-Attribute nicht verwenden , aber ich könnte damit leben Hinzufügen von ihnen, wenn das ist, was protobuf-net
funktioniert.
Was fehlt mir noch?
Vor einem Jahr stand ich vor dem gleichen Problem, wo ProtoBuf eine ausgezeichnete Option zu sein scheint, mit WCF hat es einige Mängel.
Ich habe ein Open-Source-Projekt erstellt, um diese Unzulänglichkeiten zu überwinden, es verwendet die protobu-net-Bibliothek und fügt Funktionalität hinzu, so dass Sie Baugruppen nicht mehr mit dem Client teilen müssen. Es erfordert jedoch wiederum, dass Sie DataContract-Attribute zur Zeit hinzufügen.
Sie können es versuchen: Ссылка
HAFTUNGSAUSSCHLUSS: Ich bin Schöpfer und Besitzer des obigen Projekts.
Tags und Links wcf c# protobuf-net