RoleEnvironment 類別
本文為機器翻譯文章。如需檢視英文版,請選取 [原文] 核取方塊。您也可以將滑鼠指標移到文字上,即可在快顯視窗顯示英文原文。
譯文
原文

RoleEnvironment 類別

 

更新日期: 2013年12月

提供有關組態、端點和執行中角色執行個體的狀態資訊。

命名空間:   Microsoft.WindowsAzure.ServiceRuntime
組件:  Microsoft.WindowsAzure.ServiceRuntime (在 Microsoft.WindowsAzure.ServiceRuntime.dll 中)

System.Object
  Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment

<WindowsAzureHostingPermissionAttribute(SecurityAction.LinkDemand,
	Unrestricted := True)>
Public NotInheritable Class RoleEnvironment

名稱描述
System_CAPS_pubpropertySystem_CAPS_staticCurrentRoleInstance

取得 RoleInstance 代表目前執行中程式碼的角色執行個體的物件。

System_CAPS_pubpropertySystem_CAPS_staticDeploymentId

取得角色執行個體執行所在部署的唯一識別碼。

System_CAPS_pubpropertySystem_CAPS_staticIsAvailable

指出角色執行個體是否在 Windows Azure 環境中執行。

System_CAPS_pubpropertySystem_CAPS_staticIsEmulated

表示角色執行個體是否正在執行 Microsoft Azure 計算模擬器。

System_CAPS_pubpropertySystem_CAPS_staticRoles

取得一組 Role 裝載之服務定義的物件。

名稱描述
System_CAPS_pubmethodEquals(Object)

(繼承自 Object。)

System_CAPS_pubmethodSystem_CAPS_staticGetConfigurationSettingValue(String)

擷取服務組態檔中的設定值。

System_CAPS_pubmethodGetHashCode()

(繼承自 Object。)

System_CAPS_pubmethodSystem_CAPS_staticGetLocalResource(String)

擷取指定的本機儲存體資源。

System_CAPS_pubmethodGetType()

(繼承自 Object。)

System_CAPS_pubmethodSystem_CAPS_staticRequestRecycle()

要求停止並重新啟動目前的角色執行個體。

System_CAPS_pubmethodToString()

(繼承自 Object。)

名稱描述
System_CAPS_pubfieldSystem_CAPS_staticTraceSource

名稱描述
System_CAPS_pubeventSystem_CAPS_staticChanged

發生於服務組態變更套用至角色的執行個體之後。

System_CAPS_pubeventSystem_CAPS_staticChanging

發生於服務組態變更套用至角色的執行個體之前。

System_CAPS_pubeventSystem_CAPS_staticSimultaneousChanged

發生於服務組態的同時變更套用至角色的執行中執行個體之後。 同時變更會同時影響所有角色執行個體。

System_CAPS_pubeventSystem_CAPS_staticSimultaneousChanging

發生於服務組態的同時變更套用至角色的執行個體之前。 同時變更會同時影響所有角色執行個體。

System_CAPS_pubeventSystem_CAPS_staticStatusCheck

定期發生,可指出角色執行個體的狀態。

System_CAPS_pubeventSystem_CAPS_staticStopping

發生於角色執行個體即將停止時。

您使用 RoleEnvironment 類別以取得組態設定、 本機儲存體資源和指定的角色執行個體的端點資訊。 此類別也提供一些事件,可讓角色執行個體回應組態變更以及在角色執行個體即將停止時收到通知。

System_CAPS_note注意事項

Windows Azure 1.3 和更新版本會保留自己使用的任何環境變數 (以字母 "RD" 開頭),例如 "RdRoleID"。 如果您的應用程式會建立在特定情況下,以"RD"開頭的環境變數 IsAvailable 屬性會傳回 false, ,和其他方法和屬性的 RoleEnvironment 類別會產生錯誤訊息 「 角色探索資料是無法使用 」。 若要修正這個問題,請使用不是以字母 "RD" 開頭的環境變數。

System_CAPS_note注意事項

RoleEnvironment 類別可以用在 Azure VM 外部的 Azure 角色中的獨立元件上。 這些元件可能是可以執行的程式,其執行方法 (例如) 為從遠端連至角色執行個體並從命令列啟動元件。 必須使用提高的權限來存取執行這些程序 RoleEnvironment 類別。

下列程式碼範例示範如何取得並撰寫出的值的組態設定使用呼叫 MySetting GetConfigurationSettingValue 方法:


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

如需有關定義及設定設定的詳細資訊,請參閱 Windows Azure Service Configuration SchemaWindows Azure Service Definition Schema

下列程式碼範例示範如何擷取本機儲存體資源並將文字檔寫入其中:


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

下列程式碼範例示範如何從目前的角色執行個體擷取端點資訊:


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

下列程式碼範例示範如何擷取已對角色執行個體進行的組態變更:


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

只有在 ServiceDefinition.csdef 檔案中定義此角色的內部端點時,才會引發事件。 如需有關如何定義端點的詳細資訊,請參閱 。3c806d3f-e335-4b1e-8a03-115bae2b3aab

這個類型的任何公用靜態 (在 Visual Basic 中為 Shared) 成員都是安全執行緒。不保證任何執行個體成員是安全執行緒。

回到頁首
顯示:
© 2016 Microsoft