Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

RoleEnvironment (Clase)

 

Actualizado: diciembre de 2013

Proporciona información sobre la configuración, los extremos y el estado de las instancias de rol en ejecución.

Espacio de nombres:   Microsoft.WindowsAzure.ServiceRuntime
Ensamblado:  Microsoft.WindowsAzure.ServiceRuntime (en Microsoft.WindowsAzure.ServiceRuntime.dll)

System.Object
  Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment

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

NombreDescripción
System_CAPS_pubpropertySystem_CAPS_staticCurrentRoleInstance

Obtiene un RoleInstance objeto que representa la instancia de rol en el que se está ejecutando actualmente el código.

System_CAPS_pubpropertySystem_CAPS_staticDeploymentId

Obtiene el identificador único de la implementación en la que se ejecuta la instancia de rol.

System_CAPS_pubpropertySystem_CAPS_staticIsAvailable

Indica si la instancia de rol se está ejecutando en el entorno de Microsoft Azure.

System_CAPS_pubpropertySystem_CAPS_staticIsEmulated

Indica si la instancia de rol se está ejecutando el Emulador de proceso de Microsoft Azure.

System_CAPS_pubpropertySystem_CAPS_staticRoles

Obtiene el conjunto de Role objetos definidos para el servicio hospedado.

NombreDescripción
System_CAPS_pubmethodEquals(Object)

(Heredado de Object.)

System_CAPS_pubmethodSystem_CAPS_staticGetConfigurationSettingValue(String)

Recupera el valor de una configuración en el archivo de configuración de servicio.

System_CAPS_pubmethodGetHashCode()

(Heredado de Object.)

System_CAPS_pubmethodSystem_CAPS_staticGetLocalResource(String)

Recupera un recurso de almacenamiento local especificado.

System_CAPS_pubmethodGetType()

(Heredado de Object.)

System_CAPS_pubmethodSystem_CAPS_staticRequestRecycle()

Solicita que la instancia de rol actual se detenga y se reinicie.

System_CAPS_pubmethodToString()

(Heredado de Object.)

NombreDescripción
System_CAPS_pubfieldSystem_CAPS_staticTraceSource

NombreDescripción
System_CAPS_pubeventSystem_CAPS_staticChanged

Se produce después de aplicar un cambio en la configuración del servicio a las instancias en ejecución de un rol.

System_CAPS_pubeventSystem_CAPS_staticChanging

Se produce antes de aplicar un cambio en la configuración del servicio a las instancias en ejecución de un rol.

System_CAPS_pubeventSystem_CAPS_staticSimultaneousChanged

Se produce después de aplicar un cambio simultáneo en la configuración del servicio a las instancias en ejecución de un rol. Un cambio simultáneo afecta a todas las instancias de rol al mismo tiempo.

System_CAPS_pubeventSystem_CAPS_staticSimultaneousChanging

Se produce antes de aplicar un cambio simultáneo en la configuración del servicio a las instancias en ejecución de un rol. Un cambio simultáneo afecta a todas las instancias de rol al mismo tiempo.

System_CAPS_pubeventSystem_CAPS_staticStatusCheck

Se produce a intervalos regulares para indicar el estado de una instancia de rol.

System_CAPS_pubeventSystem_CAPS_staticStopping

Se produce cuando una instancia de rol está a punto de detenerse.

Utiliza la RoleEnvironment clase para obtener valores de configuración, recursos de almacenamiento local y la información de extremo para una instancia de rol especificado. La clase también proporciona eventos que permiten que la instancia de rol reaccione ante los cambios de configuración y recibir una notificación cuando la instancia de rol está a punto de detenerse.

System_CAPS_noteNota

Microsoft Azure 1.3 y posteriores reserva para su propio uso las variables de entorno que comienzan con las letras "RD"; por ejemplo, "RdRoleID". Si la aplicación crea las variables de entorno que comienzan con "Escritorio remoto", en determinadas circunstancias, la IsAvailable propiedad devolverá false, y otros métodos y propiedades de la RoleEnvironment clase producirá el mensaje de error "función descubrimiento de datos no están disponibles". Para corregir este problema, utilice las variables de entorno que no comienzan por las letras "RD".

System_CAPS_noteNota

La RoleEnvironment clase puede utilizarse en componentes independientes en una máquina virtual de Azure fuera de un rol de Azure. Estos componentes pueden ser programas que se pueden ejecutar, por ejemplo, mediante comunicación remota en la instancia de rol o mediante el inicio del componente desde la línea de comandos. Estos procesos se deben ejecutar con privilegios elevados para tener acceso a la RoleEnvironment clase.

En el ejemplo de código siguiente se muestra cómo obtener y escribir el valor de un valor de configuración denominado MySetting mediante el GetConfigurationSettingValue método:


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

Para obtener más información sobre cómo definir y configurar, vea Windows Azure Service Configuration Schema y Windows Azure Service Definition Schema.

En el ejemplo de código siguiente se muestra cómo recuperar un recurso de almacenamiento local y escribir un archivo de texto en él:


// 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); }

En el ejemplo de código siguiente se muestra cómo recuperar información de extremo para la instancia de rol actual:


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"); }

En el ejemplo de código siguiente se muestra cómo recuperar los cambios de configuración que se han realizado en una instancia de rol:


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"); } }

Los eventos se generan solo si se define un extremo interno para el rol en el archivo ServiceDefinition.csdef. Para obtener más información acerca de cómo definir los extremos, vea .3c806d3f-e335-4b1e-8a03-115bae2b3aab

Los miembros estáticos públicos (Shared en Visual Basic) de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Volver al principio
Mostrar: