RoleEnvironment Classe
Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Classe RoleEnvironment

 

Aggiornamento: dicembre 2013

Fornisce informazioni su configurazione, endpoint e stato delle istanze del ruolo in esecuzione.

Spazio dei nomi:   Microsoft.WindowsAzure.ServiceRuntime
Assembly:  Microsoft.WindowsAzure.ServiceRuntime (in Microsoft.WindowsAzure.ServiceRuntime.dll)

System.Object
  Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment

[WindowsAzureHostingPermissionAttribute(SecurityAction.LinkDemand, 
	Unrestricted = true)]
public sealed class RoleEnvironment

NomeDescrizione
System_CAPS_pubpropertySystem_CAPS_staticCurrentRoleInstance

Ottiene un oggetto RoleInstance che rappresenta l'istanza del ruolo in cui è attualmente in esecuzione il codice.

System_CAPS_pubpropertySystem_CAPS_staticDeploymentId

Ottiene l'identificatore univoco della distribuzione in cui è in esecuzione l'istanza del ruolo.

System_CAPS_pubpropertySystem_CAPS_staticIsAvailable

Indica se l'istanza del ruolo è in esecuzione nell'ambiente Microsoft Azure.

System_CAPS_pubpropertySystem_CAPS_staticIsEmulated

Indica se l'istanza del ruolo è in esecuzione in Emulatore di calcolo di Microsoft Azure.

System_CAPS_pubpropertySystem_CAPS_staticRoles

Ottiene il set di oggetti Role definito per il servizio ospitato.

NomeDescrizione
System_CAPS_pubmethodEquals(Object)

(Ereditato da Object.)

System_CAPS_pubmethodSystem_CAPS_staticGetConfigurationSettingValue(String)

Recupera il valore di un'impostazione nel file di configurazione del servizio.

System_CAPS_pubmethodGetHashCode()

(Ereditato da Object.)

System_CAPS_pubmethodSystem_CAPS_staticGetLocalResource(String)

Recupera una risorsa di archiviazione locale specificata.

System_CAPS_pubmethodGetType()

(Ereditato da Object.)

System_CAPS_pubmethodSystem_CAPS_staticRequestRecycle()

Richiede l'arresto e il riavvio dell'istanza del ruolo attuale.

System_CAPS_pubmethodToString()

(Ereditato da Object.)

NomeDescrizione
System_CAPS_pubfieldSystem_CAPS_staticTraceSource

NomeDescrizione
System_CAPS_pubeventSystem_CAPS_staticChanged

Si verifica dopo l'applicazione di una modifica della configurazione del servizio alle istanze in esecuzione di un ruolo.

System_CAPS_pubeventSystem_CAPS_staticChanging

Si verifica prima dell'applicazione di una modifica della configurazione del servizio alle istanze in esecuzione di un ruolo.

System_CAPS_pubeventSystem_CAPS_staticSimultaneousChanged

Si verifica dopo l'applicazione di una modifica simultanea della configurazione del servizio alle istanze in esecuzione di un ruolo. Una modifica simultanea influisce su tutte le istanze del ruolo nello stesso momento.

System_CAPS_pubeventSystem_CAPS_staticSimultaneousChanging

Si verifica prima dell'applicazione di una modifica simultanea della configurazione del servizio alle istanze in esecuzione di un ruolo. Una modifica simultanea influisce su tutte le istanze del ruolo nello stesso momento.

System_CAPS_pubeventSystem_CAPS_staticStatusCheck

Si verifica a intervalli regolari per indicare lo stato di un'istanza del ruolo.

System_CAPS_pubeventSystem_CAPS_staticStopping

Si verifica quando un'istanza del ruolo sta per essere arrestata.

È possibile usare la classe RoleEnvironment per ottenere informazioni su impostazioni di configurazione, risorse di archiviazione locali ed endpoint per un'istanza del ruolo specifica. Questa classe fornisce anche eventi che permettono all'istanza del ruolo di reagire alle modifiche di configurazione e di ricevere notifiche quando l'istanza del ruolo sta per essere arrestata.

System_CAPS_noteNota

Microsoft Azure 1.3 e versioni successive riserva per un uso specifico eventuali variabili di ambiente che iniziano con le lettere "RD", ad esempio "RdRoleID". Se l'applicazione crea variabili di ambiente che iniziano con "RD", in determinate circostanze la proprietà IsAvailable restituirà false e altri metodi e proprietà della classe RoleEnvironment avranno come risultato il messaggio di errore relativo alla non disponibilità dei dati di rilevamento dei ruoli. Per risolvere questo problema, usare variabili di ambiente che non iniziano con le lettere "RD".

System_CAPS_noteNota

La classe RoleEnvironment può essere usata nei componenti autonomi in una VM di Azure all'esterno di un ruolo di Azure. Questi componenti possono essere programmi che possono essere eseguiti, ad esempio, tramite accesso remoto all'istanza del ruolo e l'avvio del componente dalla riga comando. Questi processi devono essere eseguiti con privilegi elevati per accedere alla classe RoleEnvironment.

L'esempio di codice seguente mostra come ottenere e scrivere il valore per un'impostazione di configurazione denominata MySetting usando il metodo GetConfigurationSettingValue:


var settingValue = RoleEnvironment.GetConfigurationSettingValue("MySetting"); Trace.WriteLine("The setting value is: " + settingValue, "Information");

Per ulteriori informazioni sulla definizione e configurazione delle impostazioni, vedere Windows Azure Service Configuration Schema e Windows Azure Service Definition Schema.

L'esempio di codice seguente mostra come recuperare una risorsa di archiviazione locale e scrivervi un file di testo:


// Retrieve an object that points to the local storage resource LocalResource localResource = RoleEnvironment.GetLocalResource("localStoreTwo"); //Define the file name and path string[] paths = { localResource.RootPath, "MyStorageTest.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); }

L'esempio di codice seguente mostra come recuperare le informazioni sull'endpoint per l'istanza del ruolo attuale:


var roleInstance = RoleEnvironment.CurrentRoleInstance; foreach (RoleInstanceEndpoint instanceEndpoint in roleInstance.InstanceEndpoints.Values) { Trace.WriteLine("Instance endpoint address and port: " + instanceEndpoint.IPEndpoint, "Information"); Trace.WriteLine("Protocol for the endpoint: " + , instanceEndpoint.Protocol, "Information"); }

L'esempio di codice seguente mostra come recuperare le modifiche di configurazione apportate a un'istanza del ruolo:


public override bool OnStart() { RoleEnvironment.Changed += RoleEnvironmentChanged; return base.OnStart(); } private void RoleEnvironmentChanged(object sender, RoleEnvironmentChangedEventArgs e) { // Get the list of configuration changes var settingChanges = e.Changes.OfType<RoleEnvironmentConfigurationSettingChange>(); foreach (var settingChange in settingChanges) { var message = "Setting: " + settingChange.ConfigurationSettingName; Trace.WriteLine(message, "Information"); } }

Gli eventi vengono generati solo se è stato definito un endpoint interno per il ruolo nel file ServiceDefinition.csdef. Per altre informazioni sulla definizione degli endpoint, vedere .3c806d3f-e335-4b1e-8a03-115bae2b3aab

Eventuali membri pubblici statici (Shared in Visual Basic) di questo tipo sono thread-safe. I membri di istanza non sono garantiti come thread-safe.

Torna all'inizio
Mostra:
© 2016 Microsoft