Utilizzo di feed OData in un'applicazione console (Guida rapida di WCF Data Services)
In questa attività verrà creata un'applicazione console in Visual Studio, verrà aggiunto un riferimento al servizio Northwind di esempio basato su OData (Open Data Protocol) in questa nuova applicazione e verrà eseguito l'accesso al feed OData dall'applicazione client utilizzando le classi del servizio dati e la libreria client di WCF Data Services generate.
Per utilizzare il servizio Northwind di esempio basato su OData in un'applicazione console
In Esplora soluzioni fare clic con il pulsante destro del mouse sulla soluzione, scegliere Aggiungi, quindi fare clic su Nuovo progetto.
In Tipi progetto fare clic su Finestre, quindi selezionare Applicazione console nel riquadro Modelli.
Immettere NorthwindConsole come nome del progetto, quindi fare clic su OK.
Fare clic con il pulsante destro del mouse sul nuovo progetto NorthwindConsole, scegliere Aggiungi riferimento al servizio e nel campo Indirizzo immettere l'URI del servizio dati Northwind di esempio come segue:
http://services.odata.org/Northwind/Northwind.svc/
Nella casella di testo Spazio dei nomi digitare Northwind, quindi scegliere OK.
Verranno aggiunti riferimenti agli assembly di WCF Data Services richiesti. Verrà inoltre aggiunto un nuovo file di codice al progetto che contiene le classi di dati utilizzate per accedere e interagire con le risorse del servizio dati come oggetti. Le classi di dati vengono create nello spazio dei nomi NorthwindConsole.Northwind.
Aprire il file di programma per l'applicazione console e aggiungere l'istruzione using seguente (Imports in Visual Basic):
Imports System.Data.Services.Client Imports NorthwindConsole.Northwind
using System.Data.Services.Client; using Northwind;
Nel file di programma aggiungere il codice seguente nel metodo Main:
' Define the URI of the public Northwind OData service. Dim northwindUri As Uri = _ New Uri("http://services.odata.org/Northwind/Northwind.svc/", _ UriKind.Absolute) ' Define a customer for filtering. Const customer As String = "ALFKI" ' Create a new instance of the typed DataServiceContext. Dim context As NorthwindEntities = _ New NorthwindEntities(northwindUri) ' Create a LINQ query to get the orders, including line items, ' for the selected customer. Dim query = From order In context.Orders.Expand("Order_Details") _ Where order.CustomerID = customer _ Select order Try Console.WriteLine("Writing order ID and line item information...") ' Enumerating returned orders sends the query request to the service. For Each o As Order In query Console.WriteLine("Order ID: {0}", o.OrderID) For Each item As Order_Detail In o.Order_Details Console.WriteLine(vbTab & "Product ID: {0} -- Quantity: {1}", _ item.ProductID, item.Quantity) Next Next Catch ex As DataServiceQueryException Console.WriteLine(ex.Message) End Try
// Define the URI of the public Northwind OData service. Uri northwindUri = new Uri("http://services.odata.org/Northwind/Northwind.svc/", UriKind.Absolute); // Define a customer for filtering. const string customer = "ALFKI"; // Create a new instance of the typed DataServiceContext. NorthwindEntities context = new NorthwindEntities(northwindUri); // Create a LINQ query to get the orders, including line items, // for the selected customer. var query = from order in context.Orders.Expand("Order_Details") where order.CustomerID == customer select order; try { Console.WriteLine("Writing order ID and line item information..."); // Enumerating returned orders sends the query request to the service. foreach (Order o in query) { Console.WriteLine("Order ID: {0}", o.OrderID); foreach (Order_Detail item in o.Order_Details) { Console.WriteLine("\tProduct ID: {0} -- Quantity: {1}", item.ProductID, item.Quantity); } } } catch (DataServiceQueryException ex) { Console.WriteLine(ex.Message); }
Il codice esegue una query sul servizio dati Northwind per gli ordini e le voci correlate che appartengono al cliente ALFKI.
In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto NorthwindConsole e scegliere Imposta come progetto di avvio.
Premere F5 per avviare l’applicazione.
La soluzione viene compilata e l'applicazione client viene avviata. I dati vengono richiesti dal servizio e visualizzati nella console.
Passaggi successivi
La creazione di una semplice applicazione client che accede al feed OData Northwind di esempio è stata completata. Successivamente verrà illustrato come aggiungere un progetto ASP.NET alla soluzione. Questo progetto ospiterà una versione scrivibile del servizio Northwind di esempio basato su OData in esecuzione nel computer locale: