Sviluppo e distribuzione di WCF Data ServicesDeveloping and Deploying WCF Data Services

In questo argomento vengono fornite informazioni sullo sviluppo e sulla distribuzione di WCF Data ServicesWCF Data Services.This topic provides information about developing and deploying WCF Data ServicesWCF Data Services. Per informazioni di base su WCF Data ServicesWCF Data Services, vedere Introduzione e Panoramica.For more basic information about WCF Data ServicesWCF Data Services, see Getting Started and Overview.

Sviluppo di WCF Data ServicesDeveloping WCF Data Services

Quando si usa WCF Data ServicesWCF Data Services per creare un servizio dati che supporta Protocollo OData (Open Data)Open Data Protocol (OData), è necessario effettuare le seguenti attività di base durante lo sviluppo:When you use WCF Data ServicesWCF Data Services to create a data service that supports the Protocollo OData (Open Data)Open Data Protocol (OData), you must perform the following basic tasks during development:

  1. Definizione del modello di datiDefine the data model

    WCF Data ServicesWCF 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. supports a variety of data service providers that enable you to define a data model based on data from a variety of data sources, from relational databases to late-bound data types. Per ulteriori informazioni, vedere provider di servizi dati.For more information, see Data Services Providers.

  2. Creazione del servizio datiCreate the data service

    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à.The most basic data service exposes a class that inherits from the DataService<T> class, with a type T that is the namespace-qualified name of the entity container. Per altre informazioni, vedere Defining WCF Data Services.For more information, see Defining WCF Data Services.

  3. Configurazione del servizio datiConfigure the data service

    Per impostazione predefinita, WCF Data ServicesWCF Data Services disabilita l'accesso alle risorse esposte da un contenitore di entità.By default, WCF Data ServicesWCF Data Services disables access to resources that are exposed by an entity container. L'interfaccia DataServiceConfiguration consente di configurare l'accesso a risorse e operazioni del servizio, di specificare la versione supportata di ODataODatae 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.The DataServiceConfiguration interface enables you to configure access to resources and service operations, specify the supported version of ODataOData, and to define other service-wide behaviors, such as batching behaviors or the maximum number of entities that can be returned in a single response feed. Per ulteriori informazioni, vedere configurazione del servizio dati.For more information, see Configuring the Data Service.

In questo argomento si analizza principalmente lo sviluppo e distribuzione dei servizi dati tramite Visual Studio.This topic covers primarily the development and deployment of data services by using Visual Studio. Per informazioni sulla flessibilità offerta da WCF Data ServicesWCF Data Services per esporre i dati come feed ODataOData , vedere Defining WCF Data Services.For information about the flexibility provided by WCF Data ServicesWCF Data Services for exposing your data as ODataOData feeds, see Defining WCF Data Services.

Scelta di un server Web di sviluppoChoosing a Development Web Server

Quando si sviluppa un servizio dati WCF come un ASP.NETASP.NET dell'applicazione o ASP.NETASP.NET sito Web usando Visual Studio, è possibile scegliere di server Web su cui eseguire il servizio dati durante lo sviluppo.When you develop a WCF Data Service as an ASP.NETASP.NET application or ASP.NETASP.NET Web site by using Visual Studio, you have a choice of Web servers on which to run the data service during development. Il server Web seguenti si integrano con Visual Studio per semplificare la di test e debug dei servizi dati sul computer locale.The following Web servers integrate with Visual Studio to make it easier to test and debug your data services on the local computer.

  1. Server IIS localeLocal IIS Server

    Quando si crea un servizio dati che è un'applicazione ASP.NETASP.NET o un sito Web ASP.NETASP.NET eseguito su Internet Information Services (IIS), si consiglia di sviluppare e testare il servizio dati tramite IIS sul computer locale.When you create a data service that is an ASP.NETASP.NET application or ASP.NETASP.NET Web site that runs on Internet Information Services (IIS), we recommend that you develop and test your data service by using IIS on the local computer. L'esecuzione del servizio dati su IIS facilita l'esecuzione della traccia delle richieste HTTP durante l'esecuzione il debug.Running the data service on IIS makes it easier to trace HTTP requests during debugging. Consente inoltre di determinare in anticipo i diritti necessari richiesti da IIS per accedere a file, database e altre risorse richieste dal servizio dati.This also enables you to pre-determine the necessary rights required by IIS to access files, databases, and other resources required by the data service. Per eseguire il servizio dati su IIS, è necessario assicurarsi che IIS sia Windows Communication Foundation (WCF) vengono installati e configurati correttamente e concedere l'accesso agli account IIS nel file system e i database.To run your data service on IIS, you must makes sure that both IIS and Windows Communication Foundation (WCF) are installed and configured correctly and grant access to IIS accounts in the file system and databases. Per altre informazioni, vedere Procedura: sviluppare un servizio WCF in esecuzione in IIS.For more information, see How to: Develop a WCF Data Service Running on IIS.

    Nota

    È necessario eseguire Visual Studio con diritti di amministratore per abilitare l'ambiente di sviluppo alla configurazione del server IIS locale.You must run Visual Studio with administrator rights to enable the develop environment to configure the local IIS server.

  2. Server di sviluppo di Visual StudioVisual Studio Development Server

    Visual Studio include un server Web incorporato, Visual Studio Development Server, ovvero il server Web predefinito per ASP.NETASP.NET progetti.Visual Studio includes a built-in Web server, the Visual Studio Development Server, which is the default Web server for ASP.NETASP.NET projects. Questo server Web è progettato per eseguire progetti ASP.NETASP.NET sul computer locale durante lo sviluppo.This Web server is designed to run ASP.NETASP.NET projects on the local computer during development. Il Guida rapida di WCF Data Services viene illustrato come creare un servizio dati che viene eseguito in Visual Studio Development Server.The WCF Data Services quickstart shows how to create a data service that runs in the Visual Studio Development Server.

    È necessario tenere presente le seguenti limitazioni quando si utilizza Visual Studio Development Server per sviluppare il servizio dati:You should be aware of the following limitations when you use the Visual Studio Development Server to develop the data service:

    • L'accesso al server può essere eseguito solo sul computer locale.This server can only be accessed on the local computer.

    • Il server è in ascolto su localhost e su una porta specifica, non sulla porta 80 che è la porta predefinita per i messaggi HTTP.This server listens on localhost and on a specific port, not on port 80, which is the default port for HTTP messages. Per altre informazioni, vedere Server Web in Visual Studio per progetti Web ASP.NET.For more information, see Web Servers in Visual Studio for ASP.NET Web Projects.

    • Il server esegue il servizio dati nel contesto dell'account utente corrente.This server runs the data service in the context of your current user account. Ad esempio, se si esegue come utente a livello di amministratore, un servizio dati eseguito in Visual Studio Development Server avrà i privilegi di amministratore a livello.For example, if you are running as an administrator-level user, a data service running in the Visual Studio Development Server will have administrator-level privileges. È 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.This can cause the data service to be able to access resources that it does not have the rights to access when deployed to an IIS server.

    • Il server non include le funzionalità aggiuntive di IIS, ad esempio l'autenticazione.This server does not include the extra facilities of IIS, such as authentication.

    • Il server non può gestire i flussi HTTP Chunked che vengono inviati per impostazione predefinita dal client WCF Data ServicesWCF Data Services quando si esegue l'accesso a dati binari di grandi dimensioni dal servizio dati.This server cannot handle chunked HTTP streams, which are sent be default by the WCF Data ServicesWCF Data Services client when accessing large binary data from the data service. Per ulteriori informazioni, vedere Provider di flusso.For more information, see Streaming Provider.

    • In questo server l'elaborazione del carattere punto (.) negli URL risulta problematica anche se il punto è supportato da WCF Data ServicesWCF Data Services nei valori delle chiavi.This server has issues with processing the period (.) character in a URL, even though this character is supported by WCF Data ServicesWCF Data Services in key values.

    Suggerimento

    Anche se è possibile usare Visual Studio Development Server per testare i servizi dati durante lo sviluppo, è necessario verificarne nuovamente dopo la distribuzione a un server Web che esegue IIS.Even though you can use the Visual Studio Development Server to test your data services during development, you should test them again after deploying to a Web server that is running IIS.

  3. Ambiente di sviluppo Microsoft AzureWindows Azure Development Environment

    Strumenti di Windows Azure per Visual Studio include un set integrato di strumenti per lo sviluppo di servizi di Microsoft Azure in Visual Studio.Windows Azure Tools for Visual Studio includes an integrated set of tools for developing Windows Azure services in Visual Studio. Con questi strumenti, è possibile sviluppare un servizio dati che può essere distribuito a Microsoft Azure ed è possibile testare il servizio dati sul computer locale prima della distribuzione.With these tools, you can develop a data service that can be deployed to Windows Azure, and you can test the data service on the local computer before deployment. Utilizzare questi strumenti quando si utilizza Visual Studio per sviluppare un servizio dati che viene eseguita nella piattaforma Windows Azure.Use these tools when using Visual Studio to develop a data service that runs on the Windows Azure platform. È possibile scaricare gli strumenti di Azure per Visual Studio il Microsoft Download Center.You can download the Windows Azure Tools for Visual Studio from the Microsoft Download Center. Per ulteriori informazioni sullo sviluppo di un servizio dati che viene eseguito in Windows Azure, vedere il post distribuzione di un OData Service in Microsoft Azure.For more information about developing a data service that runs on Windows Azure, see the post Deploying an OData Service in Windows Azure.

Suggerimenti per lo sviluppoDevelopment Tips

Quando si sviluppa un servizio dati è opportuno considerare quanto segue:You should consider the following when you develop a data service:

  • Determinare i requisiti di sicurezza del servizio dati, se si pianifica di autenticare gli utenti o di limitare l'accesso a utenti specifici.Determine the security requirements of your data service, if you plan authenticate users or restrict access for specific users. Per altre informazioni, vedere Securing WCF Data Services.For more information, see Securing 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.An HTTP inspection program can be very helpful when debugging a data service by enabling you to inspect the contents of request and response messages. Qualsiasi analizzatore di pacchetti di rete in grado di visualizzare pacchetti non elaborati può essere usato per controllare le richieste HTTP e le risposte del servizio dati.Any network packet analyzer that can display raw packets can be used to inspect HTTP requests to and responses from the data service.

  • Quando si esegue debug di un servizio dati, si potrebbe desiderare di ottenere altre informazioni su un errore dal servizio dati anziché durante l'operazione normale.When debugging a data service, you may may want to get more information about an error from the data service than during regular operation. È possibile ottenere altre 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.You can get additional error information from the data service by setting the UseVerboseErrors property in the DataServiceConfiguration to true and by setting the IncludeExceptionDetailInFaults property of the ServiceDebugBehavior attribute on the data service class to true. Per altre informazioni, vedere il post debug di WCF Data Services.For more information, see the post Debugging WCF Data Services. È inoltre possibile abilitare la traccia in WCF per visualizzare le eccezioni generate nel livello di messaggistica HTTP.You can also enable tracing in WCF to view exceptions raised in the HTTP messaging layer. Per altre informazioni, vedere Configuring Tracing.For more information, see Configuring Tracing.

  • Un servizio dati viene generalmente sviluppato come un ASP.NETASP.NET progetto di applicazione, ma è possibile anche creare servizio dati come un ASP.NETASP.NET progetto sito Web in Visual Studio.A data service is usually developed as an ASP.NETASP.NET application project, but you can also create you data service as an ASP.NETASP.NET Web site project in Visual Studio. Per informazioni sulle differenze tra i due tipi di progetti, vedere NIB: progetti di applicazione Web e progetti di sito Web in Visual Studio.For information about the differences between the two types of projects, see NIB: Web Application Projects versus Web Site Projects in Visual Studio.

  • Quando si crea un servizio dati tramite il Aggiungi nuovo elemento finestra di dialogo in Visual Studio, il servizio dati è ospitato da ASP.NETASP.NET in IIS.When you create a data service by using the Add New Item dialog box in Visual Studio, the data service is hosted by ASP.NETASP.NET in IIS. ASP.NETASP.NET e IIS costituiscono l'host predefinito di un servizio dati, tuttavia sono supportate altre opzioni host.While ASP.NETASP.NET and IIS is the default host for a data service, other hosting options are supported. Per ulteriori informazioni, vedere ospita il servizio dati.For more information, see Hosting the Data Service.

Distribuzione di WCF Data ServicesDeploying WCF Data Services

WCF Data Services fornisce flessibilità di scelta per il processo che ospita il servizio dati.WCF Data Service provides flexibility in choosing the process that hosts the data service. È possibile utilizzare Visual Studio per distribuire un servizio dati alle piattaforme seguenti:You can use Visual Studio to deploy a data service to the following platforms:

Considerazioni sulla distribuzioneDeployment Considerations

Quando si distribuisce un servizio dati è opportuno considerare quanto segue:You should consider the following when deploying a data service:

  • Quando si distribuisce un servizio dati che usa il provider Entity FrameworkEntity 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.When you deploy a data service that uses the Entity FrameworkEntity Framework provider to access a SQL Server database, you might also have to propagate data structures, data, or both with your data service deployment. Visual Studio possa creare automaticamente script (file con estensione SQL) per eseguire questa operazione nel database di destinazione e tali script possono essere inclusi nel pacchetto di distribuzione Web di un ASP.NETASP.NET dell'applicazione.Visual Studio can automatically create scripts (.sql files) to do this in the destination database, and these scripts can be included in the Web deployment package of an ASP.NETASP.NET application. Per ulteriori informazioni, vedere NIB: procedura: distribuire un Database con un progetto di applicazione Web.For more information, see NIB: How to: Deploy a Database With a Web Application Project. Per un ASP.NETASP.NET sito Web, è possibile farlo utilizzando il Database Publishing Wizard in Visual Studio.For an ASP.NETASP.NET Web site, you can do this by using the Database Publishing Wizard in Visual Studio. Per altre informazioni, vedere distribuzione di un Database tramite Database Publishing Wizard.For more information, see Deploying a Database by Using the Database Publishing Wizard.

  • Poiché WCF Data ServicesWCF Data Services include un'implementazione WCF di base, è possibile utilizzare Windows Server AppFabric per monitorare un servizio dati distribuito a IIS che esegue Windows Server.Because WCF Data ServicesWCF Data Services includes a basic WCF implementation, you can use Windows Server AppFabric to monitor a data service deployed to IIS running on Windows Server. Per ulteriori informazioni sull'utilizzo di Windows Server AppFabric per monitorare un servizio dati, vedere il post rilevamento WCF Data Services con Windows Server AppFabric.For more information about using Windows Server AppFabric to monitor a data service, see the post Tracking WCF Data Services with Windows Server AppFabric.

Vedere ancheSee Also

Hosting del servizio datiHosting the Data Service
Protezione di WCF Data ServicesSecuring WCF Data Services
Definizione di WCF Data ServicesDefining WCF Data Services