使用 Visual Studio 設定 Azure 雲端服務(外延支援)角色
注意
本文適用於 Azure Azure 雲端服務(外延支援)。 截至 2024 年 8 月 31 日,雲端服務(傳統版)已淘汰。 如需詳細資訊,請參閱 雲端服務 (傳統) 部署模型將於 2024 年 8 月 31 日淘汰。 若要進行新的開發,建議您使用專為特定用途設計的較新服務類型,例如 Azure App Service、Azure Functions或 Azure Container Apps。 如需可用服務的最新清單,請參閱 Azure 產品的目錄。
Azure 雲端服務(延伸支援)專案可以包含一個或多個背景工作角色或網站角色。 針對每個角色,您必須定義該角色的設定方式,以及設定該角色的執行方式。
雲端服務的資訊會儲存在下列檔案中:
-
ServiceDefinition.csdef - 服務定義檔案會定義雲端服務的運行時間設定,包括所需的角色、端點和虛擬機大小。 當您的角色執行時,無法變更儲存在
ServiceDefinition.csdef
中的數據。 -
ServiceConfiguration.cscfg - 服務組態檔會設定執行角色的實例數目,以及為角色定義的設定值。 當您的角色正在執行時,可以變更儲存在
ServiceConfiguration.cscfg
中的數據。
若要儲存控制角色執行方式之設定的不同值,您可以定義多個服務組態。 您可以針對每個部署環境使用不同的服務組態。 例如,您可以將記憶體帳戶連接字串設定為在本機服務組態中使用本機 Azure 記憶體模擬器,並建立另一個服務組態,以在雲端中使用 Azure 記憶體。
當您在 Visual Studio 中建立 Azure 雲端服務(外延支援)專案時,會自動建立兩個服務組態並新增至您的 Azure 專案:
ServiceConfiguration.Cloud.cscfg
ServiceConfiguration.Local.cscfg
先決條件
- Visual Studio(請參閱 [Visual Studio 下載](https://visualstudio.microsoft.com/downloads/?cid=learn-onpage-download-cta)),安裝了 Azure 開發 工作負載及 .NET Framework 專案和專案範本的個別元件 。 請參閱 修改 Visual Studio。
- Azure 帳戶。 如果您沒有 Azure 帳戶,請為 Visual Studio 訂閱者啟用 Azure 權益 ,或者註冊免費試用 。
設定 Azure 雲端服務 (外延支援) 專案
您可以從 Visual Studio 中的方案總管設定 Azure 雲端服務(擴充支援)專案,如下列步驟所示:
在 Visual Studio 中建立或開啟 Azure 雲端服務(外延支援)專案。
在 [方案總管]中,以滑鼠右鍵按下專案,然後從操作功能表中選取 [屬性]。
在專案的 [屬性] 頁面中,選取 [開發] 標籤。
在 [服務組態] 清單中,選取您要編輯的服務組態名稱。
變更角色實例的數目
若要改善雲端服務的效能,您可以根據特定角色的用戶數目或預期的負載,變更執行中角色的實例數目。 當雲端服務在 Azure 中執行時,會為每個角色實例建立個別的虛擬機。 這會影響此雲端服務的部署計費。 如需計費的詳細資訊,請參閱 瞭解 Microsoft Azure 帳單。
在 Visual Studio 中建立或開啟 Azure 雲端服務(外延支援)專案。
在 [方案總管]中,展開專案節點。 在 [角色] 節點底下,以滑鼠右鍵點擊您要更新的角色,然後從選單中選擇 [屬性]。
選取 [組態] 標籤。
在 [服務組態] 清單中,選取您要更新的服務組態。 (如果您想要變更此角色的所有服務組態,請選取 [所有組態] []。
重要
如果您選擇特定的服務組態,某些屬性會停用,因為它們只能針對所有組態進行設定。 若要編輯這些屬性,您必須選取 [所有組態] 。
在 [實例計數] 文字框中,輸入您要為此角色啟動的實例數目。 當您將雲端服務發佈至 Azure 時,每個實例都會在不同的虛擬機上執行。
從 Visual Studio 工具列中,選取 儲存。
管理記憶體帳戶的連接字串
您可以新增、移除或修改服務組態的連接字串。 您也可以設定在 Azure 中使用記憶體帳戶的雲端服務組態。
警告
當您輸入記憶體帳戶連接字串的 Azure 記憶體帳戶密鑰資訊時,此資訊會儲存在本機服務組態檔中。 不過,這項資訊目前不會儲存為加密的文字。
針對每個服務組態使用不同的值,您不需要在雲端服務中使用不同的連接字串,或在將雲端服務發佈至 Azure 時修改程式代碼。 您可以針對程式代碼中的連接字串使用相同的名稱,而且值會根據您在建置雲端服務或發佈雲端服務時選取的服務組態而有所不同。
在 Visual Studio 中建立或開啟 Azure 雲端服務(外延支援)專案。
在 [開發方案總管] 中,展開專案節點。 在 [角色] 節點下,以滑鼠右鍵點擊要更新的角色,然後從操作功能表中選取 [屬性]。
選取 [設定] 索引標籤。
在 [服務組態] 清單中,選取您要更新的服務組態。
若要新增連接字串,請選擇 新增設定。
將新設定新增至清單之後,請使用必要的資訊更新清單中的數據列。
- 名稱 - 輸入您要用於連接字串的名稱。
- 類型 - 從下拉式清單中選取 連接字串。
- Value - 您可以直接在 [Value] 數據格中輸入連接字串,或選取省略號 (...) 以在 [建立記憶體連接字串] 對話框中運作。
在 [建立儲存連接字串] 對話框中,選取 [使用 連線的] 選項。 然後遵循您選取之選項的指示:
- Microsoft Azure 記憶體模擬器 - 如果您選取此選項,對話方塊上的其餘設定會停用,因為它們僅適用於 Azure。 選取 [確定]。
- 您的訂用帳戶 - 如果您選取此選項,請使用下拉式清單來選取並登入Microsoft帳戶,或新增Microsoft帳戶。 選取 Azure 訂用帳戶和記憶體帳戶。 選取 [確定] 。
- 手動輸入認證 - 輸入記憶體帳戶名稱,以及主要或第二個密鑰。 選取 連線 的選項(建議在大部分情況下使用 HTTPS)。選取 OK。
若要移除連接字串,請選擇連接字串,然後選取 [移除設定]。
從 Visual Studio 工具列中,選取 儲存。
以程式設計方式存取連接字串
下列步驟示範如何使用 C# 以程式設計方式存取連接字串。
將下列 using 指示詞新增至您將使用設定的 C# 檔案中:
using Microsoft.WindowsAzure; using Microsoft.WindowsAzure.Storage; using Microsoft.WindowsAzure.ServiceRuntime;
下列程式代碼說明如何存取連接字串的範例。 將 <ConnectionStringName> 佔位符取代為適當的值。
// Setup the connection to Azure Storage var storageAccount = CloudStorageAccount.Parse(RoleEnvironment.GetConfigurationSettingValue("<ConnectionStringName>"));
新增自訂設定,以在您的 Azure 雲端服務 (外延支援) 專案中使用
服務組態檔中的自訂設定可讓您為特定服務組態新增字串的名稱和值。 您可以選擇使用此設定來設定雲端服務中的功能,方法是讀取設定的值,並使用此值來控制程式碼中的邏輯。 您可以變更這些服務組態值,而不需要重建服務套件,甚至在雲端服務正在運行時也可以進行變更。 您的程式可以在設定變更時檢查通知。 如需詳細資訊,請參閱 RoleEnvironment.Changing 事件。
您可以新增、移除或修改服務組態的自訂設定。 針對不同的服務組態,您可能想要針對這些字串使用不同的值。
針對每個服務組態使用不同的值,您不需要在雲端服務中使用不同的字串,或在將雲端服務發佈至 Azure 時修改程式代碼。 您可以針對程式代碼中的字串使用相同的名稱,而值會根據您在建置雲端服務或發佈雲端服務時選取的服務組態而有所不同。
在 Visual Studio 中建立或開啟 Azure 雲端服務(外延支援)專案。
在 [方案總管] 中,展開專案節點。 在 [角色] 節點底下,右鍵單擊想更新的角色,然後從選單中選取 [屬性]。
選取 [設定] 索引標籤。
在 [服務組態] 清單中,選取您要更新的服務組態。
若要新增自訂設定,請選擇 [[新增設定]。
將新設定新增至清單之後,請使用必要的資訊更新清單中的數據列。
- 名稱 - 輸入設定的名稱。
- 類型 - 從下拉式清單中選擇 字串。
- [值] - 輸入設定的值。 您可以直接在 [值] 數據格中輸入值 單元格,或選取省略號 (...) 以在 [編輯字串] 對話框中輸入值。
若要刪除自訂設定,請選擇設定,然後選取 [移除設定] [移除設定]。
從 Visual Studio 工具列中,選取 儲存。
以程式設計方式存取自訂設定的值
下列步驟示範如何使用 C# 以程式設計方式存取自定義設定。
將下列 using 指令新增至您要使用設定的 C# 檔案中:
using Microsoft.WindowsAzure; using Microsoft.WindowsAzure.Storage; using Microsoft.WindowsAzure.ServiceRuntime;
下列程式代碼說明如何存取自定義設定的範例。 將佔位元 <SettingName> 替換成適當的值。
var settingValue = RoleEnvironment.GetConfigurationSettingValue("<SettingName>");
管理每個角色實例的本機記憶體
您可以為每個角色實例新增本機檔案系統記憶體。 儲存在該記憶體中的數據,無法由儲存數據之角色的其他實例或其他角色存取。
在 Visual Studio 中建立或開啟 Azure 雲端服務(外延支援)專案。
在 [方案總管]中,展開專案節點。 在 [角色] 節點底下,右鍵點擊您要更新的角色,然後從內容功能表中選取 [屬性]。
選取 [本機存儲] 標籤。
在 [服務組態] 清單中,確定已選取 [所有組態],因為本機記憶體設定會套用至所有服務組態。 任何其他值都會導致頁面上的所有輸入欄位停用。
若要新增本地儲存條目,請選擇 [[新增本地儲存]。
將新的本地儲存項目新增至清單之後,請使用必要的資訊更新清單中的資料列。
- 名稱 - 輸入您要用於新本機記憶體的名稱。
- 大小 (MB) - 以 MB 為單位輸入新本機記憶體所需的大小。
- [清除角色回收] - 選取此選項,以在角色的虛擬機器回收時移除新本機儲存空間中的數據。
若要刪除本機儲存項目,請選擇該項目,然後選取 [移除本機儲存]。
從 Visual Studio 工具列中,選取 儲存。
以程式設計方式存取本機記憶體
本節說明如何使用 C# 以程式設計方式存取本機記憶體,方法是撰寫測試文字檔 MyLocalStorageTest.txt
。
將文字檔寫入本機記憶體
下列程式代碼示範如何將文本檔寫入本機記憶體的範例。 將 <LocalStorageName> 佔位符取代為適當的值。
// 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);
}
尋找寫入本機記憶體的檔案
若要檢視上一節程式代碼所建立的檔案,請遵循下列步驟:
在 Windows 通知區域中,以滑鼠右鍵按兩下 Azure 圖示,然後從操作選單中選取 [顯示計算模擬器 UI。
選取網頁角色。
在 [Microsoft Azure 計算模擬器] 選單上,選取 [工具>開啟本機存儲]。
當 Windows 檔案總管窗口開啟時,在 [搜尋] 文本框中輸入 'MyLocalStorageTest.txt'',然後選取 [輸入] 以開始搜尋。
相關內容
若要深入瞭解 Visual Studio 中的 Azure 專案,請參閱設定 Azure 專案 。 若要深入瞭解雲端服務架構,請參閱 架構參考。