Configurazione del progetto Azure di Visual Studio per l'uso di più configurazioni del servizioConfiguring your Azure project in Visual Studio to use multiple service configurations

Un progetto di servizio cloud di Azure in Visual Studio include tre file di configurazione: ServiceDefinition.csdef, ServiceConfiguration.Local.cscfg e ServiceConfiguration.Cloud.cscfg:An Azure cloud service project in Visual Studio includes three configuration files: ServiceDefinition.csdef, ServiceConfiguration.Local.cscfg, and ServiceConfiguration.Cloud.cscfg:

  • ServiceDefinition.csdef viene distribuito in Azure per descrivere i requisiti del servizio cloud e i relativi ruoli e per fornire le impostazioni applicabili a tutte le istanze.ServiceDefinition.csdef is deployed to Azure to describe the requirements of the cloud service and its roles, and to provide settings that apply to all instances. Queste impostazioni possono essere lette in fase di esecuzione tramite l'API di runtime dell'hosting di servizi di Azure.Settings can be read at runtime using the Azure Service Hosting Runtime API. Questo file può essere aggiornato in Azure solo quando il servizio cloud viene arrestato.This file can be updated on Azure only when the cloud service is stopped.
  • ServiceConfiguration.Local.cscfg e ServiceConfiguration.Cloud.cscfg forniscono i valori per le impostazioni del file di definizione e specificano il numero di istanze da eseguire per ogni ruolo.ServiceConfiguration.Local.cscfg and ServiceConfiguration.Cloud.cscfg provide values for settings in the definition file and specify the number of instances to run for each role. Il file "Local" contiene i valori usati nel debug locale, mentre il file "Cloud" viene distribuito in Azure come ServiceConfiguration.cscfg e fornisce le impostazioni per l'ambiente server.The "Local" file contains values used in local debugging; the "Cloud" file is deployed to Azure as ServiceConfiguration.cscfg and provides settings for the server environment. Questo file può essere aggiornato mentre il servizio cloud è in esecuzione in Azure.This file can be updated while your cloud service is running in Azure.

Le impostazioni di configurazione vengono gestite e modificate in Visual Studio attraverso le pagine delle proprietà relative al ruolo applicabile (fare clic con il pulsante destro del mouse sul ruolo e scegliere Proprietà oppure fare doppio clic sul ruolo).Configuration settings are managed and modified in Visual Studio using property pages for the applicable role (right-click the role and select Properties, or double-click the role). L'ambito delle modifiche può essere delimitato da qualsiasi configurazione scelta nell'elenco a discesa Configurazione servizio.Changes can be scoped to whichever configuration is chosen in the Service Configuration drop-down. Le proprietà dei ruoli Web e di lavoro sono simili, tranne per gli aspetti descritti nelle sezioni seguenti.The properties for web and worker roles are similar, except where described in the following sections.

VS_Solution_Explorer_Roles_Properties

Per informazioni sugli schemi sottostanti per i file di definizione e di configurazione del servizio, vedere gli articoli Schema XML .csdef e Schema XML .cscfg.For information about the underlying schemas for the service definition and service configuration files, see the .csdef XML Schema and .cscfg XML Schema articles. Per altre informazioni sulla configurazione del servizio, vedere Come configurare i servizi cloud.For more information about service configuration, see How to Configure Cloud Services.

Pagina ConfigurazioneConfiguration page

Service ConfigurationService Configuration

Consente di selezionare il file ServiceConfiguration.*.cscfg interessato dalle modifiche.Selects which ServiceConfiguration.*.cscfg file is affected by changes. Per impostazione predefinita, sono disponibili le varianti Local e Cloud ed è possibile usare il comando Gestisci per copiare, rinominare e rimuovere i file di configurazione.By default, there are Local and Cloud variants, and you can use the Manage... command to copy, rename, and remove configuration files. Questi file vengono aggiunti al progetto di servizio cloud e vengono visualizzati in Esplora soluzioni.These files are added to your cloud service project and appear in Solution Explorer. Tuttavia, la ridenominazione o la rimozione di configurazioni può essere eseguita solo da questo controllo.However, renaming or removing configurations can be done only from this control.

IstanzeInstances

Impostare la proprietà Conteggio istanze sul numero di istanze che il servizio deve eseguire per questo ruolo.Set the Instance count property to the number of instances the service should run for this role.

Impostare la proprietà delle Dimensioni macchina virtuale su Molto piccola, Piccola, Media, Grandeo Molto grande.Set the VM size property to Extra Small, Small, Medium, Large, or Extra Large. Per altre informazioni, vedere Dimensioni dei servizi cloud.For more information, see Sizes for Cloud Services.

Startup Action (Azione di avvio) (solo ruolo Web)Startup Action (Web role only)

Impostare questa proprietà per specificare che in Visual Studio deve essere avviato un Web browser per gli endpoint HTTP o HTTPS o entrambi quando si inizia il debug.Set this property to specify that Visual Studio should launch a web browser for either the HTTP endpoints or the HTTPS endpoints, or both when you start debugging.

L'opzione Endpoint HTTPS è disponibile solo se è già stato definito un endpoint HTTPS per il ruolo.The HTTPS endpoint option is available only if you have already defined an HTTPS endpoint for your role. È possibile definire un endpoint HTTPS nella pagina delle proprietà Endpoint .You can define an HTTPS endpoint on the Endpoints property page.

Se è già stato aggiunto un endpoint HTTPS, l'opzione Endpoint HTTPS è abilitata per impostazione predefinita e Visual Studio avvia un browser per questo endpoint all'inizio del debug in aggiunta a un browser per l'endpoint HTTP, presupponendo che entrambe le opzioni di avvio siano abilitate.If you have already added an HTTPS endpoint, the HTTPS endpoint option is enabled by default, and Visual Studio launches a browser for this endpoint when you start debugging, in addition to a browser for your HTTP endpoint, assuming both startup options are enabled.

DiagnosticaDiagnostics

Per impostazione predefinita, la diagnostica è abilitata per il ruolo Web.By default, diagnostics are enabled for the Web role. Il progetto di servizio cloud di Azure e l'account di archiviazione sono impostati per usare l'emulatore di archiviazione locale.The Azure cloud service project and storage account are set to use the local storage emulator. Quando si è pronti a eseguire la distribuzione in Azure, è possibile selezionare il pulsante del generatore () per usare in sostituzione l’archiviazione di Azure.When you are ready to deploy to Azure, you can select the builder button (...) to use Azure storage instead. È possibile trasferire i dati di diagnostica nell'account di archiviazione a richiesta o a intervalli pianificati automaticamente.You can transfer the diagnostics data to the storage account on demand or at automatically scheduled intervals. Per altre informazioni sulla diagnostica di Azure, vedere Abilitazione della diagnostica nei servizi cloud e nelle macchine virtuali di Azure.For more information about Azure diagnostics, see Enabling Diagnostics in Azure Cloud Services and Virtual Machines.

Pagina ImpostazioniSettings page

Nella pagina Impostazioni è possibile aggiungere impostazioni a una configurazione come coppie nome-valore.On the Settings page, you can add settings to a configuration as name-value pairs. Il codice in esecuzione nel ruolo può leggere i valori delle impostazioni di configurazione in fase di esecuzione usando le classi fornite dalla libreria gestita di Azure, in particolare il metodo GetConfigurationSettingValue.Code running in the role can read the values of your configuration settings at runtime using classes provided by the Azure Managed Library, specifically, the GetConfigurationSettingValue method.

Configurazione di una stringa di connessione per un account di archiviazioneConfiguring a connection string for a storage account

Una stringa di connessione è un'impostazione che fornisce informazioni di connessione e autenticazione per l'emulatore di archiviazione o per un account di archiviazione di Azure.A connection string is a setting that provides connection and authentication information for the storage emulator or for an Azure storage account. Una stringa di connessione è necessaria ogni volta che il codice in un ruolo accede all'archiviazione di Azure (BLOB, code o tabelle).Whenever code in a role accesses Azure storage (blobs, queues, or tables), it needs a connection string.

Nota

Una stringa di connessione per l'account di archiviazione di Azure deve avere un formato definito (vedere Configurare le stringhe di connessione di Archiviazione di Azure).A connection string for Azure storage account must use a defined format (see Configure Azure Storage Connection Strings).

È possibile impostare la stringa di connessione per l'uso dell'archiviazione locale in base alle necessità, quindi impostarla su un account di archiviazione di Azure quando si distribuisce l'applicazione del servizio cloud.You can set the connection string to use local storage as needed, then set to an Azure storage account when you deploy the application the cloud service. Se la stringa di connessione viene impostata in modo errato, è possibile che il ruolo non venga avviato o che continui a passare in modo ciclico dalla fase di inizializzazione, allo stato occupato e alla fase di arresto.Failure to set the connection string properly may cause your role not to start, or to cycle through the initializing, busy, and stopping states.

Per creare una stringa di connessione, selezionare Aggiungi impostazione e impostare Tipo su "Stringa di connessione".To create a connection string, select Add Setting and set Type to "Connection String".

Per le stringhe di connessione nuove o esistenti, selezionare ... * a destra del campo Valore per aprire la finestra di dialogo Crea stringa di connessione a risorsa di archiviazione:For new or existing connection strings, select ...* on the right of the Value field to open the Create Storage Connection String dialog:

  1. In Connetti con scegliere l'opzione Sottoscrizione per selezionare un account di archiviazione da una sottoscrizione.Under Connect using, choose the Your subscription option to select a storage account from a subscription. Visual Studio otterrà quindi le credenziali dell'account di archiviazione automaticamente dal file .publishsettings.Visual Studio then obtains the storage account credentials automatically from the .publishsettings file.
  2. Se si seleziona Credenziali immesse manualmente, è possibile specificare il nome e la chiave dell'account direttamente, usando le informazioni presenti nel portale di Azure.Selecting Manually entered credentials lets you specify the account name and key directly using information from the Azure portal. Per copiare la chiave dell'account: a.To copy the account key: a. Selezionare l'account di archiviazione nel portale di Azure e fare clic su Gestisci chiavi.Navigate to the storage account on the Azure portal and select Manage Keys.
    1. Nella pagina Gestisci chiavi di accesso selezionare il testo della chiave di accesso primaria e premere CTRL+C per copiarlo.On the Manage Keys Access page, select the text of the primary access key and press Ctrl+C to copy.
  3. Selezionare una delle opzioni di connessione.Select one of the connection options. In Specifica endpoint personalizzati viene chiesto di specificare gli URL di BLOB, tabelle e code.Specify custom endpoints asks you to specify specific URLs for blobs, tables, and queues. Gli endpoint personalizzati consentono di usare i domini personalizzati e controllare l'accesso in maniera più precisa.Custom endpoints allow you to use custom domains and to control access more exactly. Vedere Configurare le stringhe di connessione di archiviazione di Azure.See Configure Azure Storage Connection Strings.
  4. Fare clic su OK, quindi selezionare File > Salva per aggiornare la configurazione con la nuova stringa di connessione.Select OK, then File > Save to update the configuration with the new connection string.

Quando si pubblica l'applicazione in Azure, ricordarsi di scegliere la configurazione del servizio che contiene l'account di archiviazione di Azure per la stringa di connessione.Again, when you publish your application to Azure, choose the service configuration that contains the Azure storage account for the connection string. Dopo la pubblicazione, verificare che l'applicazione funzioni come previsto in base ai servizi di archiviazione di Azure.After your application is published, verify that the application works as expected against the Azure storage services.

Per altre informazioni su come aggiornare le configurazioni del servizio, vedere la sezione Gestire le stringhe di connessione per gli account di archiviazione.For more information about how to update service configurations, see the section Manage connection strings for storage accounts.

Pagina EndpointEndpoints page

Un ruolo Web ha in genere un solo endpoint HTTP sulla porta 80.A web role typically has a single HTTP endpoint on port 80. Un ruolo di lavoro, invece, può avere un qualsiasi numero di endpoint HTTP, HTTPS o TCP.A worker role, on the other hand, can have any number of HTTP, HTTPS, or TCP endpoints. Gli endpoint possono essere endpoint di input, disponibili a client esterni, o endpoint interni, disponibili ad altri ruoli in esecuzione nel servizio.Endpoints can be input endpoints, which are available to external clients, or internal endpoints, which are available to other roles that are running in the service.

  • Per rendere un endpoint HTTP disponibile a client esterni e Web browser, cambiare il tipo di endpoint in input e specificare un nome e un numero di porta pubblico.To make an HTTP endpoint available to external clients and Web browsers, change the endpoint type to input, and specify a name and a public port number.
  • Per rendere un endpoint HTTPS disponibile a client esterni e Web browser, cambiare il tipo di endpoint in inpute specificare un nome, un numero di porta pubblico e un nome di certificato di gestione.To make an HTTPS endpoint available to external clients and Web browsers, change the endpoint type to input, and specify a name, a public port number, and a management certificate name. Prima di poter specificare un certificato di gestione, è necessario anche definire il certificato nella pagina delle proprietà Certificati.You must also define the certificate on the Certificates property page before you can specify a management certificate.
  • Per rendere un endpoint disponibile per l'accesso interno da parte di altri ruoli nel servizio cloud, cambiare il tipo di endpoint in interno e specificare un nome e le possibili porte private per questo endpoint.To make an endpoint available for internal access by other roles in the cloud service, change the endpoint type to internal, and specify a name and possible private ports for this endpoint.

Pagina Archiviazione localeLocal storage page

È possibile usare la pagina delle proprietà Archiviazione locale per riservare una o più risorse di archiviazione locali per un ruolo.You can use the Local Storage property page to reserve one or more local storage resources for a role. Una risorsa di archiviazione locale è una directory riservata nel file system della macchina virtuale di Azure in cui è eseguita un'istanza di un ruolo.A local storage resource is a reserved directory in the file system of the Azure virtual machine in which an instance of a role is running.

Pagina CertificatiCertificates page

La pagina delle proprietà Certificati consente di aggiungere informazioni sui certificati alla configurazione del servizio.The Certificates property page adds information about your certificates to your service configuration. Si noti che i certificati non sono inclusi nel servizio. È necessario caricarli separatamente in Azure usando il portale di Azure.Note that your certificates are not packaged with your service; you must upload your certificates separately to Azure through the Azure portal.

Aggiungendo un certificato nel portale si inseriscono informazioni sui certificati nella configurazione del servizio.Adding a certificate here adds information about your certificates to your service configuration. I certificati non sono inclusi nel servizio. È necessario caricarli separatamente in Azure usando il portale di Azure.Certificates are not packaged with the service; you must upload your certificates separately through the Azure portal.

Per associare un certificato al ruolo, fornire un nome per il certificato.To associate a certificate with your role, provide a name for the certificate. Questo nome sarà usato per fare riferimento al certificato quando si configura un endpoint HTTPS nella pagina Endpoint.You use this name to refer to the certificate when you configure an HTTPS endpoint on the Endpoints page. Specificare quindi se l'archivio certificati è Computer locale o Utente corrente e il nome dell'archivio.Next, specify whether the certificate store is Local Machine or Current User and the name of the store. Infine, immettere l'identificazione personale del certificato.Finally, enter the certificate's thumbprint. Se il certificato si trova nell'archivio Utente corrente\Personale, è possibile immettere l'identificazione personale del certificato selezionandolo da un elenco popolato.If the certificate is in the Current User\Personal (My) store, you can enter the certificate's thumbprint by selecting the certificate from a populated list. Se si trova in qualsiasi altro percorso, immettere manualmente il valore dell'identificazione personale.If it resides in any other location, enter the thumbprint value by hand.

Quando si aggiunge un certificato dall'archivio certificati, qualsiasi certificato intermedio viene aggiunto automaticamente alle impostazioni di configurazione.When you add a certificate from the certificate store, any intermediate certificates are automatically added to the configuration settings for you. Inoltre, questi certificati intermedi devono essere caricati in Azure per poter configurare correttamente il servizio per SSL.In addition, these intermediate certificates must be uploaded to Azure to correctly configure your service for SSL.

Qualsiasi certificato di gestione associato al servizio si applica al servizio solo quando è in esecuzione nel cloud.Any management certificates that you associate with your service apply to your service only when it is running in the cloud. Quando il servizio è in esecuzione nell'ambiente di sviluppo locale, viene usato un certificato standard gestito dall'emulatore di calcolo.When your service is running in the local development environment, it uses a standard certificate that is managed by the compute emulator.