Ho seguito this tutorial per aggiungere protobuf-net
al mio progetto WCF. Ho una libreria DTO condivisa. Sia il server che il client utilizzano queste classi DTO. Ho attribuito tutti i miei metodi di servizio agli attributi [OperationContract]
, ma non ho assegnato alcun attributo [DataContract]
alle mie classi DTO.Confuso sull'utilizzo WCF di protobuf-net
Ho aggiunto il pacchetto Nuget protobuf-net
e aggiunto la configurazione allo web.config
.
Sto usando IIS Express per testare il mio servizio, e ho pensato che avrei dovuto essere ok con quello che avevo fatto finora. Tuttavia, dopo aver provato alcune chiamate, ho notato che ho dimenticato di aggiungere protobuf-net
al mio client eppure tutto ha funzionato come previsto (cioè senza errori di serializzazione o deserializzazione).
Ho il sospetto che protobuf non sia utilizzato nel mio programma e che mi manchi qualcosa. I'd like to avoid using [DataContract]
attributes ma potrei vivere con l'aggiunta di loro, se questo è ciò che è necessario per ottenere protobuf-net
di lavoro.
Cos'altro mi manca?
negoziazione del contenuto e fallback in un diverso formato di serializzazione? – Alex
Solo un commento: da .NET 3.5 SP1, non è necessario utilizzare gli attributi del contratto dati, tutti i membri pubblici sono serializzati per impostazione predefinita. Se, tuttavia, si applica un attributo, è necessario applicarli ovunque. –