Condividi tramite


Creazione del servizio dati Northwind (Guida rapida di WCF Data Services)

In questa attività verrà creata una versione locale del servizio dati Northwind di esempio che utilizza WCF Data Services per esporre un feed di OData (Open Data Protocol) basato sul database Northwind di esempio. Questa versione supporterà l'aggiornamento di dati nel database Northwind tramite OData. L'attività è costituita dai passaggi principali seguenti:

  1. Creazione di un'applicazione Web ASP.NET.

  2. Definizione del modello di dati tramite gli strumenti di Entity Data Model.

  3. Aggiunta del servizio dati all'applicazione Web.

  4. Abilitazione dell'accesso al servizio dati.

Nota

L'applicazione Web ASP.NET creata al completamento di questa attività viene eseguita sul server di sviluppo di ASP.NET disponibile in Visual Studio.Il server di sviluppo di ASP.NET supporta solo l'accesso dal computer locale.Per semplificare inoltre il test del servizio dati e la risoluzione dei problemi relativi durante lo sviluppo, eseguire l'applicazione che ospita il servizio dati tramite Internet Information Services (IIS).Per ulteriori informazioni, vedere Procedura: sviluppare un servizio WCF in esecuzione in IIS.

Per creare l'applicazione Web ASP.NET

  1. In Visual Studio scegliere Nuovo dal menu File, quindi selezionare Progetto.

  2. Nella finestra di dialogo Nuovo progetto, in Visual Basic o Visual C# selezionare il modello Web, quindi Applicazione Web ASP.NET.

    Nota

    Se si utilizza Visual Studio Web Developer, sarà necessario creare un nuovo sito Web anziché una nuova applicazione Web.

  3. Digitare NorthwindService come nome del progetto.

  4. Fare clic su OK.

  5. (Opzione facoltativa) Specificare un numero specifico di porta per l'applicazione Web. Nota: nella parte restante della guida rapida viene utilizzato il numero di porta 12345.

    1. In Esplora soluzioni fare clic con il pulsante destro del mouse sul nome del progetto ASP.NET creato, quindi scegliere Proprietà.

    2. Selezionare la scheda Web e impostare il valore della casella di testo Porta specifica su 12345.

Per definire il modello di dati

  1. In Esplora soluzioni fare clic con il pulsante destro del mouse sul nome del progetto ASP.NET, quindi scegliere Aggiungi nuovo elemento.

  2. Nella finestra di dialogo Aggiungi nuovo elemento fare clic sul modello Dati, quindi selezionare ADO.NET Entity Data Model.

  3. Digitare Northwind.edmx come nome del modello di dati.

  4. Nella Procedura guidata Entity Data Model selezionare Genera da database, quindi fare clic su Avanti.

  5. Connettere il modello di dati al database effettuando uno dei passaggi seguenti, quindi fare clic su Avanti:

    • Se non si dispone di una connessione al database già configurata, fare clic su Nuova connessione e creare una nuova connessione. Per ulteriori informazioni, vedere Procedura: creare connessioni a database di SQL Server. A questa istanza di SQL Server deve essere collegato il database Northwind di esempio.

      - oppure -

    • Se si dispone di una connessione al database già configurata per connettersi al database Northwind, selezionarla nell'elenco delle connessioni.

  6. Nella pagina finale della procedura guidata selezionare le caselle di controllo relative a tutte le tabelle nel database e deselezionare le caselle di controllo relative a visualizzazioni e stored procedure.

  7. Fare clic su Fine per chiudere la procedura guidata.

    Nota

    Questo modello di dati generato espone le proprietà della chiave esterna sui tipi di entità.Poiché i modelli di dati creati utilizzando Visual Studio 2008 non includono tali proprietà,è necessario aggiornare le classi del servizio dati client di qualsiasi applicazione client creata per accedere al servizio dati Northwind creato utilizzando Visual Studio 2008 prima di tentare di accedere alla versione corrente del servizio dati Northwind.

Per creare il servizio dati

  1. In Esplora soluzioni fare clic con il pulsante destro del mouse sul nome del progetto ASP.NET, quindi scegliere Aggiungi nuovo elemento.

  2. Nella finestra di dialogo Aggiungi nuovo elemento selezionare Servizio dati WCF.

  3. Digitare Northwind come nome del servizio.

    In Visual StudioVisual Studio verranno creati i file del markup XML e del codice per il nuovo servizio. La finestra dell'editor del codice viene visualizzata per impostazione predefinita. In Esplora soluzioni il servizio risulterà denominato Northwind con estensione svc.cs o svc.vb.

  4. Nel codice per il servizio dati sostituire il commento /* TODO: put your data source class name here */ nella definizione della classe che definisce il servizio dati con il tipo del contenitore di entità del modello di dati, che in questo caso corrisponde a NorthwindEntities. La definizione di classe dovrà essere analoga alla seguente:

    Public Class Northwind
        Inherits DataService(Of NorthwindEntities)
    
    public class Northwind : DataService<NorthwindEntities>
    

Per abilitare l'accesso alle risorse del servizio dati

  • Nel codice per il servizio dati sostituire il codice segnaposto nella funzione InitializeService con il codice seguente:

    ' Grant only the rights needed to support the client application.
    config.SetEntitySetAccessRule("Orders", EntitySetRights.AllRead _
         Or EntitySetRights.WriteMerge _
         Or EntitySetRights.WriteReplace)
    config.SetEntitySetAccessRule("Order_Details", EntitySetRights.AllRead _
        Or EntitySetRights.AllWrite)
    config.SetEntitySetAccessRule("Customers", EntitySetRights.AllRead)
    
    // Grant only the rights needed to support the client application.
    config.SetEntitySetAccessRule("Orders", EntitySetRights.AllRead
         | EntitySetRights.WriteMerge
         | EntitySetRights.WriteReplace);
    config.SetEntitySetAccessRule("Order_Details", EntitySetRights.AllRead
        | EntitySetRights.AllWrite);
    config.SetEntitySetAccessRule("Customers", EntitySetRights.AllRead);
    

    In questo modo i client autorizzati saranno in grado di accedere in lettura e scrittura alle risorse per i set di entità specificati.

    Nota

    I client che possono accedere all'applicazione ASP.NET saranno inoltre in grado di accedere alle risorse esposte dal servizio dati.Per impedire l'accesso non autorizzato alle risorse in un servizio dati di produzione, è inoltre necessario proteggere l'applicazione stessa.Per ulteriori informazioni, vedere Protezione di WCF Data Services.

Passaggi successivi

La creazione di una versione scrivibile locale di un servizio OData basato sul database Northwind di esempio è stata completata. È stato inoltre abilitato l'accesso al feed per i client con autorizzazioni per l'applicazione Web ASP.NET. Si creerà quindi una seconda applicazione client che associa i dati di questo database Northwind ai controlli Windows e invia aggiornamenti al nuovo servizio OData scrivibile:

Associazione di feed OData a controlli in un'applicazione client

Vedere anche

Altre risorse

ADO.NET Entity Data Model Tools