Petapoco - comprese le proprietà di classe parziale personalizzate nella risposta WCF
Domanda
Ho sperimentato con l'uso di Petapoco per un piccolo progetto che sto lavorando, ed è stato fantastico finora.
Ho creato alcune classi parziali aggiuntive, non automaticamente generate per contenere vari valori calcolati, come mostrato nel mio esempio di seguito.Non riesco a ottenere queste proprietà aggiuntive per essere serializzato in una risposta WCF, ma tutte le proprietà nella roba generata automaticamente serializza solo bene.Ho provato a utilizzare [Serializable] e [DataContract] su queste proprietà personalizzate, ma rompono del tutto il servizio WCF.
Qualche idea?
public partial class Session
{
[ResultColumn]
public int ConnectedUserCount
{
get
{
AssistedServiceDB db = new AssistedServiceDB();
return db.ExecuteScalar<int>("SELECT Count(*) FROM Session_AssistedServiceUser WHERE IsConnected = 1");
}
}
. Soluzione
Ci sono un paio di cose da guardare per ottenere Datacontract di WCF parziale per funzionare.Innanzitutto, se l'altra classe Session
è contrassegnata con il DataContract
, questa classe potrebbe anche essere contrassegnata allo stesso modo.Si suppone che la classe ResultSession
sia anche serializzabile e / o contrassegnata come DataContract
.L'altro problema è WCF richiede proprietà a, come minimo, ha Setter privati Quindi la proprietà ConnectedUserCount
deve essere modificata per avere una.