Configurare un ruolo per un servizio cloud di Azure con Visual StudioConfigure Azure cloud service roles with Visual Studio

Un servizio cloud di Azure può includere uno o più ruoli di lavoro o ruoli Web.An Azure cloud service can have one or more worker or web roles. Per ogni ruolo è necessario definire la modalità di configurazione e configurare la modalità di esecuzione.For each role, you need to define how that role is set up and also configure how that role runs. Per altre informazioni sui ruoli nei servizi cloud, vedere il video Introduzione ai servizi cloud di Azure.To learn more about roles in cloud services, see the video Introduction to Azure Cloud Services.

Le informazioni per il servizio cloud vengono archiviate nei file seguenti:The information for your cloud service is stored in the following files:

  • ServiceDefinition.csdef - Il file di definizione del servizio definisce le impostazioni di runtime per il servizio cloud e include i ruoli richiesti, gli endpoint e le dimensioni della macchina virtuale.ServiceDefinition.csdef - The service definition file defines the runtime settings for your cloud service including what roles are required, endpoints, and virtual machine size. Nessun dato archiviato in ServiceDefinition.csdef può essere modificato durante l'esecuzione del ruolo.None of the data stored in ServiceDefinition.csdef can be changed when your role is running.
  • ServiceConfiguration.cscfg - Il file di configurazione del servizio configura il numero delle istanze di un ruolo che vengono eseguite e i valori delle impostazioni definiti per un ruolo.ServiceConfiguration.cscfg - The service configuration file configures how many instances of a role are run and the values of the settings defined for a role. I dati archiviati in ServiceConfiguration.cscfg possono essere modificati durante l'esecuzione del ruolo.The data stored in ServiceConfiguration.cscfg can be changed while your role is running.

Per archiviare valori diversi per le impostazioni che controllano l'esecuzione del ruolo, è possibile creare più configurazioni del servizio.To store different values for the settings that control how a role runs, you can define multiple service configurations. È possibile usare una configurazione del servizio diversa per ogni ambiente di distribuzione.You can use a different service configuration for each deployment environment. Ad esempio, è possibile configurare la stringa di connessione dell'account di archiviazione in modo che usi l'emulatore di archiviazione di Azure locale in una configurazione del servizio locale e creare un'altra configurazione del servizio in modo che usi l'archiviazione di Azure nel cloud.For example, you can set your storage account connection string to use the local Azure storage emulator in a local service configuration and create another service configuration to use Azure storage in the cloud.

Quando si crea un servizio cloud in Visual Studio, vengono automaticamente create due configurazioni del servizio che sono poi aggiunte al progetto Azure:When you create an Azure cloud service in Visual Studio, two service configurations are automatically created and added to your Azure project:

  • ServiceConfiguration.Cloud.cscfg
  • ServiceConfiguration.Local.cscfg

Configurare un servizio cloud di AzureConfigure an Azure cloud service

È possibile configurare un servizio cloud di Azure da Esplora soluzioni in Visual Studio, come illustrato nella procedura seguente:You can configure an Azure cloud service from Solution Explorer in Visual Studio, as shown in the following steps:

  1. Creare o aprire un progetto di servizio cloud di Azure in Visual Studio.Create or open an Azure cloud service project in Visual Studio.

  2. In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto e scegliere Proprietà dal menu di scelta rapida.In Solution Explorer, right-click the project, and, from the context menu, select Properties.

    Menu di scelta rapida di Esplora soluzioni

  3. Nella pagina delle proprietà del progetto, selezionare la scheda Sviluppo.In the project's properties page, select the Development tab.

    Pagina delle proprietà del progetto - Scheda Sviluppo

  4. Nell'elenco Configurazione del servizio scegliere il nome della configurazione del servizio da modificare.In the Service Configuration list, select the name of the service configuration that you want to edit. Per apportare modifiche a tutte le configurazioni del servizio per questo ruolo, è possibile scegliere Tutte le configurazioni.(If you want to make changes to all the service configurations for this role, select All Configurations.)

    Importante

    Se si sceglie una configurazione del servizio specifica, alcune proprietà verranno disabilitate perché possono essere impostate solo per tutte le configurazioni.If you choose a specific service configuration, some properties are disabled because they can only be set for all configurations. Per modificare queste proprietà, è necessario scegliere Tutte le configurazioni.To edit these properties, you must select All Configurations.

    Elenco Configurazione del servizio per un servizio cloud di Azure

Cambiare il numero di istanze del ruoloChange the number of role instances

Per migliorare le prestazioni del servizio cloud, è possibile cambiare il numero di istanze di un ruolo in esecuzione, in base al numero di utenti o al carico previsto per un ruolo specifico.To improve the performance of your cloud service, you can change the number of instances of a role that are running, based on the number of users or the load expected for a particular role. Una macchina virtuale separata viene creata per ogni istanza di un ruolo quando il servizio cloud è in esecuzione in Azure.A separate virtual machine is created for each instance of a role when the cloud service runs in Azure. Ciò influirà sulla fatturazione per la distribuzione di questo servizio cloud.This affects the billing for the deployment of this cloud service. Per altre informazioni sulla fatturazione, vedere l'argomento contenente informazioni sulla fatturazione per Microsoft Azure.For more information about billing, see Understand your bill for Microsoft Azure.

  1. Creare o aprire un progetto di servizio cloud di Azure in Visual Studio.Create or open an Azure cloud service project in Visual Studio.

  2. In Esplora soluzioni espandere il nodo del progetto.In Solution Explorer, expand the project node. Nel nodo Ruoli, fare clic con il pulsante destro del mouse sul ruolo da aggiornare e selezionare Proprietà dal menu di scelta rapida.Under the Roles node, right-click the role you want to update, and, from the context menu, select Properties.

    Menu di scelta rapida di Esplora soluzioni di Azure

  3. Scegliere la scheda Configurazione.Select the Configuration tab.

    Scheda Configurazione

  4. Nell'elenco Configurazione servizio scegliere la configurazione del servizio da aggiornare.In the Service Configuration list, select the service configuration that you want to update.

    Elenco Configurazione servizio

  5. Nella casella di testo Conteggio istanze immettere il numero di istanze da avviare per questo ruolo.In the Instance count text box, enter the number of instances that you want to start for this role. Quando il servizio cloud viene pubblicato in Azure, ogni istanza viene eseguita in una macchina virtuale diversa.Each instance runs on a separate virtual machine when you publish the cloud service to Azure.

    Aggiornamento del conteggio istanze

  6. Dalla barra degli strumenti di Visual Studio selezionare Salva.From the Visual Studio, toolbar, select Save.

Gestire le stringhe di connessione per gli account di archiviazioneManage connection strings for storage accounts

È possibile aggiungere, rimuovere o modificare le stringhe di connessione per le configurazioni del servizio.You can add, remove, or modify connection strings for your service configurations. Ad esempio, è possibile che si voglia creare una stringa di connessione locale per una configurazione del servizio locale con valore UseDevelopmentStorage=true.For example, you might want a local connection string for a local service configuration that has a value of UseDevelopmentStorage=true. È anche possibile che si voglia definire una configurazione del servizio cloud che usa un account di archiviazione di Azure.You might also want to configure a cloud service configuration that uses a storage account in Azure.

Avviso

Quando si immettono le informazioni chiave dell'account di archiviazione di Azure per una stringa di connessione dell'account di archiviazione, tali informazioni vengono archiviate localmente nel file di configurazione del servizio.When you enter the Azure storage account key information for a storage account connection string, this information is stored locally in the service configuration file. Queste informazioni, tuttavia, non vengono attualmente archiviate come testo crittografato.However, this information is currently not stored as encrypted text.

Se si usa un valore diverso per ogni configurazione del servizio, non sarà necessario usare stringhe di connessione diverse nel servizio cloud o modificare il codice quando si pubblica il servizio cloud in Azure.By using a different value for each service configuration, you do not have to use different connection strings in your cloud service or modify your code when you publish your cloud service to Azure. È possibile usare lo stesso nome per la stringa di connessione nel codice e il valore sarà diverso in base alla configurazione del servizio selezionata quando si compila il servizio cloud o quando lo si pubblica.You can use the same name for the connection string in your code and the value is different, based on the service configuration that you select when you build your cloud service or when you publish it.

  1. Creare o aprire un progetto di servizio cloud di Azure in Visual Studio.Create or open an Azure cloud service project in Visual Studio.

  2. In Esplora soluzioni espandere il nodo del progetto.In Solution Explorer, expand the project node. Nel nodo Ruoli, fare clic con il pulsante destro del mouse sul ruolo da aggiornare e selezionare Proprietà dal menu di scelta rapida.Under the Roles node, right-click the role you want to update, and, from the context menu, select Properties.

    Menu di scelta rapida di Esplora soluzioni di Azure

  3. Fare clic sulla scheda Impostazioni.Select the Settings tab.

    Scheda Settings

  4. Nell'elenco Configurazione servizio scegliere la configurazione del servizio da aggiornare.In the Service Configuration list, select the service configuration that you want to update.

    Service Configuration

  5. Per aggiungere una stringa di connessione, scegliere Aggiungi impostazione.To add a connection string, select Add Setting.

    Aggiungere una stringa di connessione

  6. Dopo aver aggiunto la nuova impostazione all'elenco, aggiornare la riga nell'elenco con le informazioni necessarie.Once the new setting has been added to the list, update the row in the list with the necessary information.

    Nuova stringa di connessione

    • Nome: digitare il nome da usare per la stringa di connessione.Name - Enter the name that you want to use for the connection string.
    • Tipo: scegliere Stringa di connessione nell'elenco a discesa.Type - Select Connection String from the drop-down list.
    • Valore: è possibile immettere la stringa di connessione direttamente nella cella Valore o selezionare i puntini di sospensione (...) per lavorare nella finestra di dialogo Crea stringa di connessione a risorsa di archiviazione.Value - You can either enter the connection string directly into the Value cell, or select the ellipsis (...) to work in the Create Storage Connection String dialog.
  7. Nella finestra di dialogo Crea stringa di connessione a risorsa di archiviazione, selezionare un'opzione per Connetti tramite.In the Create Storage Connection String dialog, select an option for Connect using. Seguire quindi le istruzioni relative all'opzione selezionata:Then follow the instructions for the option you select:

    • Emulatore di archiviazione di Microsoft Azure: se si seleziona questa opzione, le impostazioni rimanenti nella finestra di dialogo vengono disabilitate, poiché sono valide solo per Azure.Microsoft Azure storage emulator - If you select this option, the remaining settings on the dialog are disabled as they apply only to Azure. Selezionare OK.Select OK.
    • Sottoscrizione: se si seleziona questa opzione, usare l'elenco a discesa per selezionare e accedere a un account Microsoft oppure aggiungere un account Microsoft.Your subscription - If you select this option, use the dropdown list to either select and sign into a Microsoft account, or add a Microsoft account. Selezionare una sottoscrizione e un account di archiviazione di Azure.Select an Azure subscription and storage account. Selezionare OK.Select OK.
    • Credenziali immesse manualmente: immettere il nome dell'account di archiviazione e la chiave primaria o secondaria.Manually entered credentials - Enter the storage account name, and either the primary or second key. Selezionare un'opzione per Connessione. Nella maggior parte dei casi è consigliato HTTPS. Selezionare OK.Select an option for Connection (HTTPS is recommended for most scenarios.) Select OK.
  8. Per eliminare una stringa di connessione, selezionarla e quindi scegliere Rimuovi impostazione.To delete a connection string, select the connection string, and then select Remove Setting.

  9. Dalla barra degli strumenti di Visual Studio selezionare Salva.From the Visual Studio, toolbar, select Save.

Accedere a una stringa di connessione a livello di codiceProgrammatically access a connection string

La procedura seguente illustra come accedere a una stringa di connessione a livello di codice usando C#.The following steps show how to programmatically access a connection string using C#.

  1. Aggiungere le seguenti direttive using al file C# in cui si vuole usare l'impostazione:Add the following using directives to a C# file where you are going to use the setting:

    using Microsoft.WindowsAzure;
    using Microsoft.WindowsAzure.Storage;
    using Microsoft.WindowsAzure.ServiceRuntime;
    
  2. Il codice seguente è un esempio di come accedere a una stringa di connessione.The following code illustrates an example of how to access a connection string. Sostituire il segnaposto <ConnectionStringName > con il valore appropriato.Replace the <ConnectionStringName> placeholder with the appropriate value.

    // Setup the connection to Azure Storage
    var storageAccount = CloudStorageAccount.Parse(RoleEnvironment.GetConfigurationSettingValue("<ConnectionStringName>"));
    

Aggiungere impostazioni personalizzate da usare nel servizio cloud di AzureAdd custom settings to use in your Azure cloud service

Le impostazioni personalizzate nel file di configurazione del servizio consentono di aggiungere un nome e un valore per una stringa per una configurazione del servizio specifica.Custom settings in the service configuration file let you add a name and value for a string for a specific service configuration. È possibile scegliere di usare questa impostazione per configurare una funzionalità nel servizio cloud leggendo il valore dell'impostazione e usando questo valore per controllare la logica nel codice.You might choose to use this setting to configure a feature in your cloud service by reading the value of the setting and using this value to control the logic in your code. È possibile cambiare questi valori della configurazione del servizio senza dovere ricompilare il pacchetto del servizio o quando il servizio cloud è in esecuzione.You can change these service configuration values without having to rebuild your service package or when your cloud service is running. Il codice può cercare notifiche in caso di modifiche di un'impostazione.Your code can check for notifications of when a setting changes. Vedere l' Evento RoleEnvironment.Changing.See RoleEnvironment.Changing Event.

È possibile aggiungere, rimuovere o modificare impostazioni personalizzate per le configurazioni del servizio.You can add, remove, or modify custom settings for your service configurations. Potrebbero essere necessari diversi valori per queste stringhe per configurazioni del servizio diverse.You might want different values for these strings for different service configurations.

Se si usa un valore diverso per ogni configurazione del servizio, non sarà necessario usare stringhe diverse nel servizio cloud o modificare il codice quando si pubblica il servizio cloud in Azure.By using a different value for each service configuration, you do not have to use different strings in your cloud service or modify your code when you publish your cloud service to Azure. È possibile usare lo stesso nome per la stringa nel codice e il valore sarà diverso in base alla configurazione del servizio selezionata quando si compila il servizio cloud o quando lo si pubblica.You can use the same name for the string in your code and the value is different, based on the service configuration that you select when you build your cloud service or when you publish it.

  1. Creare o aprire un progetto di servizio cloud di Azure in Visual Studio.Create or open an Azure cloud service project in Visual Studio.

  2. In Esplora soluzioni espandere il nodo del progetto.In Solution Explorer, expand the project node. Nel nodo Ruoli, fare clic con il pulsante destro del mouse sul ruolo da aggiornare e selezionare Proprietà dal menu di scelta rapida.Under the Roles node, right-click the role you want to update, and, from the context menu, select Properties.

    Menu di scelta rapida di Esplora soluzioni di Azure

  3. Fare clic sulla scheda Impostazioni.Select the Settings tab.

    Scheda Settings

  4. Nell'elenco Configurazione servizio scegliere la configurazione del servizio da aggiornare.In the Service Configuration list, select the service configuration that you want to update.

    Elenco Configurazione servizio

  5. Per aggiungere un'impostazione personalizzata, selezionare Aggiungi impostazione.To add a custom setting, select Add Setting.

    Aggiungere impostazioni personalizzate

  6. Dopo aver aggiunto la nuova impostazione all'elenco, aggiornare la riga nell'elenco con le informazioni necessarie.Once the new setting has been added to the list, update the row in the list with the necessary information.

    Nuova impostazione personalizzata

    • Nome: inserire il nome dell'impostazione.Name - Enter the name of the setting.
    • Tipo: scegliere Stringa di connessione dall'elenco a discesa.Type - Select String from the drop-down list.
    • Valore: inserire il valore dell'impostazione.Value - Enter the value of the setting. È possibile immettere il valore direttamente nella cella Valore o selezionare i puntini di sospensione (...) per immettere il valore nella finestra di dialogo Modifica stringa.You can either enter the value directly into the Value cell, or select the ellipsis (...) to enter the value in the Edit String dialog.
  7. Per eliminare un'impostazione personalizzata, selezionarla e quindi scegliere Rimuovi impostazione.To delete a custom setting, select the setting, and then select Remove Setting.

  8. Dalla barra degli strumenti di Visual Studio selezionare Salva.From the Visual Studio, toolbar, select Save.

Accedere al valore dell'impostazione personalizzata a livello di codiceProgrammatically access a custom setting's value

La procedura seguente illustra come accedere a un'impostazione personalizzata a livello di codice usando C#.The following steps show how to programmatically access a custom setting using C#.

  1. Aggiungere le seguenti direttive using al file C# in cui si vuole usare l'impostazione:Add the following using directives to a C# file where you are going to use the setting:

    using Microsoft.WindowsAzure;
    using Microsoft.WindowsAzure.Storage;
    using Microsoft.WindowsAzure.ServiceRuntime;
    
  2. Il codice seguente è un esempio di come accedere a un'impostazione personalizzata.The following code illustrates an example of how to access a custom setting. Sostituire il segnaposto <SettingName> con il valore appropriato.Replace the <SettingName> placeholder with the appropriate value.

    var settingValue = RoleEnvironment.GetConfigurationSettingValue("<SettingName>");
    

Gestire le risorse di archiviazione locali per ogni istanza del ruoloManage local storage for each role instance

È possibile aggiungere una risorsa di archiviazione del file system locale per ogni istanza del ruolo.You can add local file system storage for each instance of a role. I dati archiviati nella risorsa di archiviazione non sono accessibili da altre istanze del ruolo per il quale sono archiviati, né da altri ruoli.The data stored in that storage is not accessible by other instances of the role for which the data is stored, or by other roles.

  1. Creare o aprire un progetto di servizio cloud di Azure in Visual Studio.Create or open an Azure cloud service project in Visual Studio.

  2. In Esplora soluzioni espandere il nodo del progetto.In Solution Explorer, expand the project node. Nel nodo Ruoli, fare clic con il pulsante destro del mouse sul ruolo da aggiornare e selezionare Proprietà dal menu di scelta rapida.Under the Roles node, right-click the role you want to update, and, from the context menu, select Properties.

    Menu di scelta rapida di Esplora soluzioni di Azure

  3. Selezionare la scheda Risorsa di archiviazione locale.Select the Local Storage tab.

    Scheda Archiviazione locale

  4. Nell'elenco Configurazione del servizio, verificare che l'opzione selezionata sia Tutte le configurazioni, poiché le impostazioni di archiviazione locale si applicano a tutte le configurazioni di servizio.In the Service Configuration list, ensure that All Configurations is selected as the local storage settings apply to all service configurations. Qualsiasi altro valore comporta la disabilitazione di tutti i campi di input della pagina.Any other value results in all the input fields on the page being disabled.

    Elenco Configurazione servizio

  5. Per aggiungere una voce relativa a una risorsa di archiviazione locale, selezionare Aggiungi risorsa di archiviazione locale.To add a local storage entry, select Add Local Storage.

    Aggiungi risorsa di archiviazione locale

  6. Dopo aver aggiunto la nuova risorsa di archiviazione locale all'elenco, aggiornare la riga nell'elenco con le informazioni necessarie.Once the new local storage entry has been added to the list, update the row in the list with the necessary information.

    Nuova risorsa di archiviazione locale

    • Nome: digitare il nome da usare per la nuova risorsa di archiviazione locale.Name - Enter the name that you want to use for the new local storage.
    • Dimensione (MB): immettere la dimensione in MB necessaria per la nuova risorsa di archiviazione locale.Size (MB) - Enter the size in MB that you need for the new local storage.
    • Pulisci a riciclo ruolo: selezionare questa opzione per rimuovere i dati dalla nuova risorsa di archiviazione locale quando la macchina virtuale per il ruolo viene riciclata.Clean on role recycle - Select this option to remove the data in the new local storage when the virtual machine for the role is recycled.
  7. Per eliminare una risorsa di archiviazione locale, selezionarla e scegliere Remove Local Storage (Rimuovi risorsa di archiviazione locale).To delete a local storage entry, select the entry, and then select Remove Local Storage.

  8. Dalla barra degli strumenti di Visual Studio selezionare Salva.From the Visual Studio, toolbar, select Save.

Accedere alla risorsa di archiviazione locale a livello di codiceProgrammatically accessing local storage

Questa sezione illustra come accedere alla risorsa di archiviazione locale a livello di codice usando C# per scrivere il file di testo di prova MyLocalStorageTest.txt.This section illustrates how to programmatically access local storage using C# by writing a test text file MyLocalStorageTest.txt.

Scrivere un file di testo in una risorsa di archiviazione localeWrite a text file to local storage

Il codice seguente è un esempio di come scrivere un file di testo in una risorsa di archiviazione locale.The following code shows an example of how to write a text file to local storage. Sostituire il segnaposto <LocalStorageName> con il valore appropriato.Replace the <LocalStorageName> placeholder with the appropriate value.

```csharp
// Retrieve an object that points to the local storage resource
LocalResource localResource = RoleEnvironment.GetLocalResource("<LocalStorageName>");

//Define the file name and path
string[] paths = { localResource.RootPath, "MyLocalStorageTest.txt" };
String filePath = Path.Combine(paths);

using (FileStream writeStream = File.Create(filePath))
{
    Byte[] textToWrite = new UTF8Encoding(true).GetBytes("Testing Web role storage");
    writeStream.Write(textToWrite, 0, textToWrite.Length);
}

```

Trovare un file scritto in una risorsa di archiviazione localeFind a file written to local storage

Per visualizzare il file creato dal codice nella sezione precedente, seguire questa procedura:To view the file created by the code in the previous section, follow these steps:

  1. Nell'area di notifica di Windows, fare clic con il pulsante destro del mouse sull'icona di Azure e, dal menu di scelta rapida, selezionare Show Compute Emulator UI (Mostra interfaccia utente dell'emulatore di calcolo).In the Windows notification area, right-click the Azure icon, and, from the context menu, select Show Compute Emulator UI.

    Mostra emulatore di calcolo di Azure

  2. Selezionare il ruolo Web.Select the web role.

    Emulatore di calcolo di Azure

  3. Dal menu Emulatore di calcolo di Microsoft Azure, selezionare Strumenti > Open local store (Apri risorsa di archiviazione locale).On the Microsoft Azure Compute Emulator menu, select Tools > Open local store.

    Voce di menu Apri risorsa di archiviazione locale

  4. Nella finestra di Esplora risorse visualizzata, immettere "MyLocalStorageTest.txt" nella casella di testo Cerca e premere Invio per avviare la ricerca.When the Windows Explorer window opens, enter MyLocalStorageTest.txt` into the Search text box, and select Enter to start the search.

Passaggi successiviNext steps

Per altre informazioni sui progetti Azure in Visual Studio, vedere Configurazione di un progetto Azure.Learn more about Azure projects in Visual Studio by reading Configuring an Azure Project. Per altre informazioni sullo schema del servizio cloud, vedere Guida di riferimento agli schemi.Learn more about the cloud service schema by reading Schema Reference.