Supporto POCO
Nell’esempio POCO viene illustrato il supporto di serializzazione per i tipi non contrassegnati, ovvero tipi ai quali non sono stati applicati attributi di serializzazione, definiti talvolta tipi di oggetto POCO (Plain Old CLR Object). Tramite DataContractSerializer viene dedotto un contratto dati per tutti i tipi contrassegnati pubblici che dispongono di un costruttore senza parametri. I contratti dati consentono di passare dati strutturati a e da i servizi. Per altre informazioni sui tipi non registrati, vedere Tipi serializzabili.
Questo esempio è basato sull’Introduzione, ma usa numeri complessi anziché tipi numerici primitivi. È inoltre simile all'esempio Contratto di dati Basic, tranne per il fatto che gli attributi DataContractAttribute e DataMemberAttribute non vengono utilizzati.
Il servizio è ospitato da Internet Information Services (IIS) e il client è un'applicazione console (con estensione exe).
Nota
La procedura di installazione e le istruzioni di compilazione per questo esempio si trovano alla fine di questo argomento.
La classe ComplexNumber
viene utilizzata in ServiceContract
. Il tipo ComplexNumber
non dispone degli attributi DataContractAttribute e DataMemberAttribute, come illustrato nel codice di esempio seguente. Per impostazione predefinita, le proprietà e i campi pubblici vengono serializzati.
public class ComplexNumber
{
public double Real;
public double Imaginary;
public ComplexNumber()
{
Real = double.MinValue;
Imaginary = double.MinValue;
}
public ComplexNumber(double real, double imaginary)
{
this.Real = real;
this.Imaginary = imaginary;
}
}
Per impostare, compilare ed eseguire l'esempio
Assicurarsi di aver eseguito la Procedura di installazione singola per gli esempi di Windows Communication Foundation.
Per compilare l'edizione in C# o Visual Basic .NET della soluzione, seguire le istruzioni in Building the Windows Communication Foundation Samples.
Per eseguire l'esempio in un solo computer o tra computer diversi, seguire le istruzioni in Esecuzione degli esempi di Windows Communication Foundation.