Sviluppo e distribuzione di WCF Data Services

In questo argomento vengono fornite informazioni sullo sviluppo e sulla distribuzione di WCF Data Services. Per informazioni più elementari su WCF Data Services, vedere Guida introduttiva a WCF Data Services e Cenni preliminari su WCF Data Services.

Sviluppo di WCF Data Services

Quando si utilizza WCF Data Services per creare un servizio dati che supporta OData (Open Data Protocol), è necessario effettuare le seguenti attività di base durante lo sviluppo:

  1. Definizione del modello di dati

    WCF Data Services supporta diversi provider di servizi dati che consentono di definire un modello di dati basato su dati di varie origini, dai database relazionali ai tipi di dati ad associazione tardiva. Per ulteriori informazioni, vedere Provider di servizi dati (WCF Data Services).

  2. Creazione del servizio dati

    La maggior parte dei servizi di base espone una classe che eredita dalla classe DataService<T>, con un tipo T che corrisponde al nome completo dello spazio dei nomi del contenitore di entità. Per ulteriori informazioni, vedere Servizio dati (WCF Data Services).

  3. Configurazione del servizio dati

    Per impostazione predefinita, WCF Data Services disabilita l'accesso alle risorse esposte da un contenitore di entità. L'interfaccia DataServiceConfiguration consente di configurare l'accesso a risorse e operazioni del servizio, di specificare la versione supportata di OData e di definire altri comportamenti a livello di server, ad esempio i comportamenti di invio in batch o il numero massimo di entità che è possibile restituire in un unico feed di risposta. Per ulteriori informazioni, vedere Configurazione del servizio dati (WCF Data Services).

In questo argomento si analizza principalmente lo sviluppo e la distribuzione dei servizi dati tramite Visual Studio. Per informazioni sulla flessibilità fornita da WCF Data Services per esporre i dati come feed OData, vedere Servizio dati (WCF Data Services).

Scelta di un server Web di sviluppo

Quando si sviluppa un servizio WCF Data Services come un'applicazione ASP.NET o un sito Web ASP.NET tramite Visual Studio, si dispone di una scelta di server Web su cui eseguire il servizio dati durante lo sviluppo. I server Web seguenti si integrano con Visual Studio per facilitare le operazioni di test e debug dei servizi dati sul computer locale.

  1. Server IIS locale

    Quando si crea un servizio dati che è un'applicazione ASP.NET o un sito Web ASP.NET eseguito su Internet Information Services (IIS), si consiglia di sviluppare e testare il servizio dati tramite IIS sul computer locale. L'esecuzione del servizio dati su IIS facilita l'esecuzione della traccia delle richieste HTTP durante l'esecuzione il debug. Consente inoltre di determinare in anticipo i diritti necessari richiesti da IIS per accedere a file, database e altre risorse richieste dal servizio dati. Per eseguire il servizio dati su IIS, è necessario assicurarsi che IIS e Windows Communication Foundation (WCF) siano installati e configurati correttamente e che l'accesso sia stato concesso agli account IIS nel file system e nei database. Per ulteriori informazioni, vedere Procedura: sviluppare un servizio WCF in esecuzione in IIS.

    Nota

    È necessario eseguire Visual Studio con i diritti di amministratore per abilitare l'ambiente di sviluppo alla configurazione del server IIS locale.

  2. Server di sviluppo di Visual Studio

    Visual Studio include un server Web incorporato, Visual Studio Development Server che è il server Web predefinito per i progetti ASP.NET. Questo server Web è progettato per eseguire progetti ASP.NET sul computer locale durante lo sviluppo. Nella Guida rapida di WCF Data Services viene indicato come creare un servizio dati da eseguire in Visual Studio Development Server.

    È opportuno tenere presenti le seguenti limitazioni quando si utilizza Visual Studio Development Server per sviluppare il servizio dati:

    • L'accesso al server può essere eseguito solo sul computer locale.

    • Il server è in ascolto su localhost e su una porta specifica, non sulla porta 80 che è la porta predefinita per i messaggi HTTP. Per ulteriori informazioni, vedere Web Servers in Visual Studio for ASP.NET Web Projects.

    • Il server esegue il servizio dati nel contesto dell'account utente corrente. Se ad esempio l'utente corrente dispone di privilegi a livello di amministratore, un servizio dati eseguito in Visual Studio Development Server avrà i privilegi a livello di amministratore. È possibile che il servizio dati quindi sia in grado di accedere alle risorse che non ha diritto ad accedere se viene distribuito in un server IIS.

    • Il server non include le funzionalità aggiuntive di IIS, ad esempio l'autenticazione.

    • Il server non può gestire i flussi HTTP Chunked che vengono inviati per impostazione predefinita dal client WCF Data Services quando si esegue l'accesso a dati binari di grandi dimensioni dal servizio dati. Per ulteriori informazioni, vedere Provider di flusso (WCF Data Services).

    • In questo server l'elaborazione del carattere punto (.) negli URL risulta problematica anche se il punto è supportato da WCF Data Services nei valori delle chiavi.

    Suggerimento

    Anche se è possibile utilizzare Visual Studio Development Server per testare i servizi dati durante lo sviluppo, è necessario ripetere il testing dopo la distribuzione a un server Web che esegue IIS.

  3. Ambiente di sviluppo Windows Azure

    Gli strumenti di Windows Azure per Visual Studio includono un set integrato di strumenti per lo sviluppo di servizi di Windows Azure in Visual Studio. Con questi strumenti, è possibile sviluppare un servizio dati che può essere distribuito a Windows Azure ed è possibile testare il servizio dati sul computer locale prima della distribuzione. Utilizzare questi strumenti quando si usa Visual Studio per sviluppare un servizio dati che viene eseguito sulla piattaforma Windows Azure. Gli strumenti di Windows Azure per Visual Studio possono essere scaricati dall'Area download Microsoft. Per ulteriori informazioni su llo sviluppo di un servizio dati che viene eseguito su Windows Azure, vedere il post Distribuzione di un servizio OData in Windows Azure.

Suggerimenti per lo sviluppo

Quando si sviluppa un servizio dati è opportuno considerare quanto segue:

  • Determinare i requisiti di sicurezza del servizio dati, se si pianifica di autenticare gli utenti o di limitare l'accesso a utenti specifici. Per ulteriori informazioni, vedere Protezione di WCF Data Services.

  • Un programma di ispezione HTTP può essere molto utile quando si esegue il debug di un servizio dati in quanto permette di controllare il contenuto dei messaggi di risposta e richiesta. Qualsiasi analizzatore di pacchetti di rete in grado di visualizzare pacchetti non elaborati può essere utilizzato per controllare le richieste HTTP e le risposte del servizio dati.

  • Quando si esegue debug di un servizio dati, si potrebbe desiderare di ottenere ulteriori informazioni su un errore dal servizio dati anziché durante l'operazione normale. È possibile ottenere ulteriori informazioni sull'errore dal servizio dati impostando la proprietà UseVerboseErrors in DataServiceConfiguration su true e impostando la proprietà IncludeExceptionDetailInFaults dell'attributo ServiceDebugBehavior nella classe del servizio dati su true. Per ulteriori informazioni, vedere il post Debug di WCF Data Services. È possibile abilitare la traccia anche in WCF per visualizzare le eccezioni generate nel livello di messaggistica HTTP. Per ulteriori informazioni, vedere Configuring Tracing.

  • Un servizio dati viene generalmente sviluppato come progetto di applicazione ASP.NET, ma è possibile creare un servizio dati anche come progetto di sito Web ASP.NET in Visual Studio. Per informazioni sulle differenze tra questi due tipi di progetti, vedere Web Application Projects versus Web Site Projects.

  • Quando si crea un servizio dati tramite la finestra di dialogo Aggiungi nuovo elemento in Visual Studio, il servizio dati è ospitato da ASP.NET in IIS. ASP.NET e IIS costituiscono l'host predefinito di un servizio dati, tuttavia sono supportate altre opzioni host. Per ulteriori informazioni, vedere Hosting del servizio dati (WCF Data Services).

Distribuzione di WCF Data Services

WCF Data Services fornisce flessibilità di scelta per il processo che ospita il servizio dati. È possibile utilizzare Visual Studio per distribuire un servizio dati alle piattaforme seguenti:

Considerazioni sulla distribuzione

Quando si distribuisce un servizio dati è opportuno considerare quanto segue:

  • Quando si distribuisce un servizio dati che utilizza il provider Entity Framework per accedere a un database SQL Server, è possibile che si debbano propagare anche strutture di dati, dati o entrambi gli elementi con la distribuzione del servizio dati. Visual Studio è in grado di creare automaticamente script (file con estensione sql) per effettuare questa operazione nel database di destinazione e tali script possono essere inclusi nel pacchetto di distribuzione Web di un'applicazione ASP.NET. Per ulteriori informazioni, vedere How to: Deploy a Database With a Web Application Project. Per un sito Web ASP.NET, è possibile eseguire questa operazione utilizzando Database Publishing Wizard in Visual Studio. Per ulteriori informazioni, vedere Deploying a Database by Using the Database Publishing Wizard.

  • Poiché WCF Data Services include un'implementazione di WCF di base, è possibile utilizzare Windows Server AppFabric per il monitoraggio di un servizio dati distribuito a IIS che è in esecuzione su Windows Server. Per ulteriori informazioni su ll'utilizzo di Windows Server AppFabric per monitorare un servizio dati, vedere il post Traccia in WCF Data Services con Windows Server AppFabric.

Vedere anche

Concetti

Hosting del servizio dati (WCF Data Services)

Protezione di WCF Data Services

Altre risorse

Servizio dati (WCF Data Services)