Selezione automatica del formatoAutomatic Format Selection

In questo esempio viene illustrato come abilitare la selezione automatica del formato (XML o JSON) con il modello, nonché come impostare in modo esplicito il formato nel codice dell'operazione di programmazione REST di Windows Communication Foundation (WCF).This sample demonstrates how to enable automatic format selection (XML or JSON) with the Windows Communication Foundation (WCF) REST programming model, as well as how to explicitly set the format in the operation code.

Dettagli dell'esempioSample Details

L'esempio è costituito da un servizio e dal codice client che effettua le richieste al servizio.The sample consists of a service along with client code that makes requests to the service. Il servizio supporta una singola operazione GET (EchoWithGet) HTTP e una singola operazione POST (EchoWithPost) HTTP.The service supports a single HTTP GET operation (EchoWithGet) and a single HTTP POST operation (EchoWithPost). Entrambe operazioni prevedono una stringa, quindi restituiscono la stringa nella risposta.Both operations expect a string and then return the string in the response. Con l'operazione GET, la stringa viene fornita in un parametro della stringa di query dell'URI.With the GET operation, the string is provided in a URI query-string parameter. Con l'operazione POST, la stringa viene fornita nel corpo della richiesta serializzata in XML.With the POST operation, the string is provided in the body of the request, serialized in XML. Il servizio è in grado di restituire risposte in XML o JSON usando le nuove funzionalità di selezione automatica del formato e di selezione imperativa del formato di .NET Framework versione 4.NET Framework version 4.The service is able to return responses in either XML or JSON, utilizing the new automatic format selection and imperative format selection features in .NET Framework versione 4.NET Framework version 4.

Nell'esempio la selezione automatica del formato viene abilitata tramite il file App.config.In the sample, automatic format selection is enabled using the App.config file. Sull'endpoint HTTP Web predefinito all'attributo automaticFormatSelectionEnabled è stato assegnato il valore true.On the default Web HTTP endpoint, the automaticFormatSelectionEnabled attribute has been given a value of true. Con la selezione automatica del formato abilitata, l'infrastruttura WCF seleziona il più appropriato risposta formato (XML o JSON) dato le intestazioni HTTP Accept o Content-Type della richiesta.With automatic format selection enabled, the WCF infrastructure selects the most appropriate response format (XML or JSON) given the HTTP Accept or Content-Type headers of the request. Per usare questa nuova funzionalità, non è necessario che lo sviluppatore fornisca una configurazione o un codice aggiuntivo oltre all'impostazione dell'attributo automaticFormatSelectionEnabled su true.The developer is not required to provide any additional code or configuration other than setting the automaticFormatSelectionEnabled attribute to true to use this new feature. Nel codice client in Program.cs le richieste vengono inviate in entrambe le GET e POST operazioni del servizio con l'intestazione HTTP Accept specificata come "application/xml" o "application/json" e il servizio restituisce una risposta che formato corrispondente.In the client code in Program.cs, requests are sent to both the GET and POST operations of the service with the HTTP Accept header specified as either "application/xml" or "application/json" and the service returns a response in that respective format.

Anche nell'operazione GET viene usata la selezione imperativa del formato.Also in the GET operation, imperative format selection is used. L'operazione GET verifica se è presente un parametro della stringa di query format facoltativo e in caso affermativo imposta il formato della risposta sulla proprietà OutgoingResponse.The GET operation checks for an optional format query-string parameter and if present, sets the response format on the OutgoingResponse property. L'impostazione in modo imperativo il formato della risposta in questo modo sostituisce la selezione automatica del formato effettuata dall'infrastruttura WCF.Imperatively setting the response format in this way overrides the automatic format selection done by the WCF infrastructure.

L'esempio è costituito da un servizio indipendente e da un client in esecuzione in un'applicazione console.The sample consists of a self-hosted service and a client that runs within a console application. Quando l'applicazione console è in esecuzione, il client invia richieste al servizio e scrive nella finestra della console le informazioni pertinenti incluse nelle risposte.As the console application runs, the client makes requests to the service and writes the pertinent information from the responses to the console window.

Per usare questo esempioTo use this sample

  1. Aprire la soluzione per l'esempio relativo alla selezione automatica del formato.Open the solution for the Automatic Format Selection Sample. Per garantire l'esecuzione corretta dell'esempio, è necessario che l'avvio di Visual Studio 2012Visual Studio 2012 venga eseguito come amministratore.When launching Visual Studio 2012Visual Studio 2012, you must run as an administrator for the sample to execute successfully. Farlo facendo clic con il Visual Studio 2012Visual Studio 2012 sull'icona e selezionare Esegui come amministratore dal menu di scelta rapida.Do this by right-clicking the Visual Studio 2012Visual Studio 2012 icon and select Run as Administrator from the context menu.

  2. Premere CTRL+MAIUSC+B per compilare la soluzione, quindi premere CTRL+F5 per eseguire il progetto AutomaticFormatSelection dell'applicazione console.Press CTRL+SHIFT+B to build the solution and then press Ctrl+F5 to run the console application AutomaticFormatSelection project. Verrà visualizzata la finestra della console in cui saranno disponibili gli URI del servizio in esecuzione e della pagina della Guida HTML per il servizio in esecuzione.The console window appears and provides the URI of the running service and the URI of the HTML help page for the running service.

  3. Durante l'esecuzione dell'esempio, il client invia richieste al servizio e scrive le risposte nella finestra della console.As the sample runs, the client sends requests to the service and writes the responses to the console window. Si notino i formati diversi delle risposte in XML e JSON.Notice the different formats of the responses in XML and JSON.

  4. Premere un tasto qualsiasi per terminare l'esempio.Press any key to terminate the sample.

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\Web\AutomaticFormatSelection

Vedere ancheSee Also