Supporto POCOPOCO Support

In questo esempio 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).This sample demonstrates the serialization support for unmarked types; that is, types to which serialization attributes have not been applied, sometimes referred to as Plain Old CLR Object (POCO) types. Tramite DataContractSerializer viene dedotto un contratto dati per tutti i tipi contrassegnati pubblici che dispongono di un costruttore predefinito.The DataContractSerializer infers a data contract for all public unmarked types that have a default constructor. I contratti dati consentono di passare dati strutturati a e da i servizi.Data contracts allow you to pass structured data to and from services. Per ulteriori informazioni sui tipi non contrassegnati, vedere tipi serializzabili.For more information about unmarked types, see Serializable Types.

Questo esempio è basato sul Introduzione, ma utilizza numeri complessi anziché i tipi numerici primitivi.This sample is based on the Getting Started, but uses complex numbers instead of primitive numeric types. È anche simile al base contratto dati di esempio, con la differenza che il DataContractAttribute e DataMemberAttribute non vengono utilizzati gli attributi.It is also similar to the Basic Data Contract sample, except that the DataContractAttribute and DataMemberAttribute attributes are not used.

Il servizio è ospitato da Internet Information Services (IIS) e il client è un'applicazione console (con estensione exe).The service is hosted by Internet Information Services (IIS) and the client is a console application (.exe).

Nota

La procedura di installazione e le istruzioni di compilazione per questo esempio si trovano alla fine di questo argomento.The setup procedure and build instructions for this sample are located at the end of this topic.

La classe ComplexNumber viene utilizzata in ServiceContract.The ComplexNumber class is used in the ServiceContract. Il tipo ComplexNumber non dispone degli attributi DataContractAttribute e DataMemberAttribute, come illustrato nel codice di esempio seguente.The ComplexNumber type does not have the DataContractAttribute and DataMemberAttribute attributes, as shown in the following sample code. Per impostazione predefinita, le proprietà e i campi pubblici vengono serializzati.By default, all public properties and fields are serialized.

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'esempioTo set up, build, and run the sample

  1. Assicurarsi di avere eseguito la procedura di installazione singola per gli esempi di Windows Communication Foundation.Ensure that you have performed the One-Time Setup Procedure for the Windows Communication Foundation Samples.

  2. Per compilare l'edizione in C# o Visual Basic .NET della soluzione, seguire le istruzioni in Building the Windows Communication Foundation Samples.To build the C# or Visual Basic .NET edition of the solution, follow the instructions in Building the Windows Communication Foundation Samples.

  3. Per eseguire l'esempio in una configurazione singola o tra computer, seguire le istruzioni in esegue gli esempi di Windows Communication Foundation.To run the sample in a single- or cross-machine configuration, follow the instructions in Running the Windows Communication Foundation Samples.

Importante

È possibile che gli esempi siano già installati nel computer.The samples may already be installed on your machine. Verificare la directory seguente (impostazione predefinita) prima di continuare.Check for the following (default) directory before continuing.

<InstallDrive>:\WF_WCF_Samples

Se questa directory non esiste, andare al Windows Communication Foundation (WCF) e gli esempi di Windows Workflow Foundation (WF) per .NET Framework 4 per scaricare tutti i Windows Communication Foundation (WCF) e WFWF esempi.If this directory does not exist, go to Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF) Samples for .NET Framework 4 to download all Windows Communication Foundation (WCF) and WFWF samples. Questo esempio si trova nella directory seguente.This sample is located in the following directory.

<InstallDrive>:\WF_WCF_Samples\WCF\Basic\Contract\Data\POCO

Vedere ancheSee Also

IgnoreDataMemberAttribute
Tipi serializzabiliSerializable Types