快速入門:搭配使用 Azure Cache for Redis 與 ASP.NET Web 應用程式
在本快速入門中,您會使用 Visual Studio 2019 建立 ASP.NET Web 應用程式,以連線到 Azure Cache for Redis 以儲存和擷取快取中的數據。 然後,您將應用程式部署至 Azure App 服務。
跳至 GitHub 上的程式碼
複製 GitHub 上的存放庫 https://github.com/Azure-Samples/azure-cache-redis-samples/tree/main/quickstart/aspnet 。
必要條件
- Azure 訂用帳戶 - 建立免費帳戶
- Visual Studio 2019 具有 ASP.NET 和 Web 開發和 Azure 開發工作負載。
建立快取
接下來,您會建立應用程式的快取。
若要建立快取,請登入 Azure 入口網站,然後選取 [建立資源]。
在 [新增] 頁面上選取 [資料庫],然後選取 [Azure Cache for Redis]。
在 [新的 Redis 快取] 頁面上,設定新快取的設定。
設定 選擇值 描述 訂用帳戶 下拉並選取您的訂用帳戶。 這個新的 Azure Cache for Redis 執行個體建立所在的訂用帳戶。 資源群組 下拉並選取資源群組,或選取 [新建] 並輸入新的資源群組名稱。 用來建立快取和其他資源的資源群組名稱。 將所有的應用程式資源放在一個資源群組中,您將可輕鬆地一併管理或刪除這些資源。 DNS 名稱 輸入唯一名稱。 快取名稱必須為介於 1 到 63 個字元之間的字串,而且只能包含數字、字母或連字號。 名稱的開頭和結尾必須是數字或字母,且不可包含連續的連字號。 快取執行個體的「主機名稱」為「<DNS 名稱>.redis.cache.windows.net」。 地點 下拉並選取位置。 選取其他要使用快取之服務附近的區域。 快取類型 使用下拉式選單並選取階層。 階層會決定快取可用的大小、效能和功能。 如需詳細資訊,請參閱 Azure Cache for Redis 概觀。 選取 [網路] 索引標籤,或選取頁面底部的 [網路] 按鈕。
在 [網路功能] 索引標籤中,選取您的連線方法。
選取 [下一步: 進階] 索引標籤,或選取頁面底部的 [下一步: 進階] 按鈕以查看 [進階] 索引標籤。
- 針對基本或標準快取,切換適用於非 TLS 連接埠的選取項目。 如果您想要啟用 Microsoft Entra 驗證,也可以選取。
- 針對進階快取,設定適用於非 TLS 連接埠、叢集、受控識別和資料持續性的設定。 如果您想要啟用 Microsoft Entra 驗證,也可以選取。
選取 [下一步: 標記] 索引標籤,或選取頁面底部的 [下一步: 標記] 按鈕。
在 [標記] 索引標籤中,如果您想要分類資源,可以選擇性地輸入名稱和值。
選取 [檢閱 + 建立]。 您會移至 [檢閱 + 建立] 索引標籤,Azure 會在其中驗證您的設定。
出現綠色的「通過驗證」訊息之後,請選取 [建立]。
建立快取需要一些時間。 您可以在 Azure Cache for Redis 的 [概觀] 頁面上監視進度。 當 [狀態] 顯示為 [執行中] 時,表示快取已可供使用。
從 Azure 入口網站 擷取主機名、埠和存取密鑰
若要連線 Azure Cache for Redis 伺服器,快取用戶端需要快取的主機名、埠和密鑰。 有些用戶端可能會以稍微不同的名稱來參考這些專案。 您可以從 Azure 入口網站 取得主機名、埠和金鑰。
若要取得存取金鑰,請從 [資源] 功能選取 [ 驗證 ]。 然後,選取 [ 存取金鑰] 索引標籤 。
若要取得快取的主機名和埠,請從 [資源] 功能表中選取 [概觀 ]。 主機名的格式為 DNS name.redis.cache.windows.net>。<
編輯 CacheSecrets.config 檔案
在您的電腦上建立名為 CacheSecrets.config 的檔案。將它放在未簽入範例應用程式原始程式碼的位置。 在本快速入門中 ,CacheSecrets.config 檔案位於 C:\AppSecrets\CacheSecrets.config。
編輯 CacheSecrets.config 檔案。 然後新增下列內容:
<appSettings> <add key="CacheConnection" value="<cache-name>.redis.cache.windows.net,abortConnect=false,ssl=true,allowAdmin=true,password=<access-key>"/> </appSettings>
將取代
<cache-name>
為您的快取主機名。將取代
<access-key>
為快取的主鍵。提示
當您重新產生主要存取金鑰時,您可以在金鑰輪替期間使用次要存取金鑰作為替代金鑰。
儲存檔案。
更新MVC應用程式
在本節中,您可以看到MVC應用程式,此應用程式會顯示針對 Azure Cache for Redis 顯示簡單測試的檢視。
web.config 檔案如何連線到快取
當您在本機執行應用程式時,CacheSecrets.config 中的資訊會用來連線到 Azure Cache for Redis 實例。 稍後,您可以將此應用程式部署至 Azure。 此時,您會在 Azure 中設定應用程式設定,讓應用程式用來擷取快取連線資訊,而不是此檔案。
因為 CacheSecrets.config 檔案未部署至 Azure 與您的應用程式,所以您只會在本機測試應用程式時使用它。 盡可能保護此資訊,以防止惡意存取快取數據。
更新 web.config 檔案
在 方案總管 中,開啟 web.config 檔案。
在 web.config 檔案中,您可以設定
<appSettings>
元素以在本機執行應用程式。<appSettings file="C:\AppSecrets\CacheSecrets.config">
ASP.NET 執行時間會將外部檔案的內容與 元素中的 <appSettings>
標記合併。 如果找不到指定的檔案,運行時間會忽略檔案屬性。 您的秘密(快取 連接字串)不會包含在應用程式的原始碼中。 當您將 Web 應用程式部署至 Azure 時, 不會部署 CacheSecrets.config 檔案。
安裝 StackExchange.Redis
您的解決方案需要 StackExchange.Redis
套件才能執行。 使用下列程式安裝:
若要將應用程式設定為使用適用於 Visual Studio 的 StackExchange.Redis NuGet 套件,請選取 [工具 > NuGet 封裝管理員 封裝管理員 > 控制台]。
從視窗執行
Package Manager Console
下列命令:Install-Package StackExchange.Redis
NuGet 套件會下載並新增用戶端應用程式所需的元件參考,以使用
StackExchange.Redis
用戶端存取 Azure Cache for Redis。
使用 Redis 連線 快取 連線
快取的連線是由 RedisConnection
類別所管理。 連接會先在此語句中從 ContosoTeamStats/Controllers/HomeController.cs
進行:
private static Task<RedisConnection> _redisConnectionFactory = RedisConnection.InitializeAsync(connectionString: ConfigurationManager.AppSettings["CacheConnection"].ToString()););
Cache 連線 ion 秘密的值是使用 Secret Manager 組態提供者來存取,並做為密碼參數使用。
在 RedisConnection.cs
中,您會看到 StackExchange.Redis
命名空間已新增至程序代碼。 類別需要 RedisConnection
此專案。
using StackExchange.Redis;
程式RedisConnection
代碼會藉由從StackExchange.Redis
管理 ConnectionMultiplexer
實例,確保快取一律有狀況良好的連線。 類別 RedisConnection
會在連線遺失且無法自動重新連線時重新建立連線。
如需詳細資訊,請參閱 StackExchange.Redis 和 GitHub 存放庫中的程序代碼。
範例中的版面配置檢視
此範例的首頁配置會儲存在 _Layout.cshtml 檔案中。 從此頁面按兩下此頁面的 Azure Cache for Redis 測試,即可啟動實際的快取測試 。
在 方案總管 中,展開 [檢視>共用] 資料夾。 然後開啟 _Layout.cshtml 檔案。
您會在 中看到
<div class="navbar-header">
下列這一行。@Html.ActionLink("Azure Cache for Redis Test", "RedisCache", "Home", new { area = "" }, new { @class = "navbar-brand" })
顯示快取中的數據
從首頁選取 [Azure Cache for Redis 測試],以查看範例輸出。
在 [方案總管] 中,展開 [檢視] 資料夾,然後以滑鼠右鍵按兩下 [首頁] 資料夾。
您應該會在 RedisCache.cshtml 檔案中看到此程式代碼。
@{ ViewBag.Title = "Azure Cache for Redis Test"; } <h2>@ViewBag.Title.</h2> <h3>@ViewBag.Message</h3> <br /><br /> <table border="1" cellpadding="10"> <tr> <th>Command</th> <th>Result</th> </tr> <tr> <td>@ViewBag.command1</td> <td><pre>@ViewBag.command1Result</pre></td> </tr> <tr> <td>@ViewBag.command2</td> <td><pre>@ViewBag.command2Result</pre></td> </tr> <tr> <td>@ViewBag.command3</td> <td><pre>@ViewBag.command3Result</pre></td> </tr> <tr> <td>@ViewBag.command4</td> <td><pre>@ViewBag.command4Result</pre></td> </tr> <tr> <td>@ViewBag.command5</td> <td><pre>@ViewBag.command5Result</pre></td> </tr> </table>
在本機執行應用程式
根據預設,專案會設定為在 IIS Express 中本機裝載應用程式,以進行測試和偵錯。
在本機執行應用程式
在 Visual Studio 中,選取 [>偵錯開始偵錯] 以在本機建置並啟動應用程式以進行測試和偵錯。
在瀏覽器中,選取 導覽列上的 [Azure Cache for Redis 測試 ]。
在下列範例中
Message
,索引鍵先前有快取的值,這是使用入口網站中的 Azure Cache for Redis 控制台所設定。 應用程式已更新快取的值。 應用程式也會執行PING
和CLIENT LIST
命令。
在 Azure 中發佈並執行
在本機成功測試應用程式之後,您可以將應用程式部署至 Azure 並在雲端中執行。
將應用程式發佈至 Azure
在 Visual Studio 中,以滑鼠右鍵按兩下 方案總管 中的項目節點。 然後選取 [ 發佈]。
選取 [Microsoft Azure App 服務],選取 [新建],然後選取 [發佈]。
在 [ 建立 App Service ] 對話框中,進行下列變更:
設定 建議值 描述 應用程式名稱 使用預設值。 應用程式名稱是應用程式部署至 Azure 時的主機名。 名稱可能會新增時間戳後綴,以在必要時使其是唯一的。 訂用帳戶 選擇 Azure 訂用帳戶。 此訂用帳戶會收取任何相關的裝載成本。 如果您有多個 Azure 訂用帳戶,請確認已選取您想要的訂用帳戶。 資源群組 使用您建立快取的相同資源群組(例如 TestResourceGroup)。 資源群組可協助您以群組的形式管理所有資源。 稍後,當您想要刪除應用程式時,您可以只刪除群組。 App Service 計劃 選取 [ 新增],然後建立名為 TestingPlan 的新 App Service 方案。
使用您在建立快取時所使用的相同 位置 。
針對大小選擇 [ 免費 ]。App Service 方案會定義一組要執行之 Web 應用程式的計算資源。 設定 App Service 裝載設定之後,請選取 [ 建立]。
監視 Visual Studio 中的 [ 輸出 ] 視窗以查看發佈狀態。 發佈應用程式之後,會記錄應用程式的URL:
新增快取的應用程式設定
發佈新應用程式之後,請新增應用程式設定。 此設定可用來儲存快取連線資訊。
若要新增應用程式設定
在 Azure 入口網站 頂端的搜尋列中輸入應用程式名稱,以尋找您建立的新應用程式。
新增名為 Cache 連線 ion 的新應用程式設定,讓應用程式用來連線到快取。 使用您在 CacheSecrets.config 檔案中設定
CacheConnection
的相同值。 值包含快取主機名和存取金鑰。
在 Azure 中執行應用程式
在您的瀏覽器中,移至應用程式的URL。 URL 會出現在 Visual Studio 輸出視窗中發佈作業的結果中。 它也會在您所建立應用程式概觀頁面上的 Azure 入口網站 中提供。
在導覽列上選取 [Azure Cache for Redis 測試 ],以測試快取存取,就像使用本機版本一樣。
清除資源
如果您繼續使用本快速入門,您可以保留您所建立的資源並重複使用它們。
否則,如果您已完成快速入門範例應用程式,您可以刪除在本快速入門中建立的 Azure 資源,以避免產生費用。
重要
刪除資源群組是無法回復的動作。 當您刪除資源群組時,會永久刪除其中的所有資源。 請確定您不會不小心刪除錯誤的資源群組或資源。 如果您已建立資源,以將這個範例裝載於包含您想要保留之資源的現有資源群組內,您可以個別刪除左側的每個資源,而不是刪除資源群組。
若要刪除資源群組
登入 Azure 入口網站,然後選取 [資源群組]。
在 [ 依名稱篩選... ] 方塊中,輸入資源群組的名稱。 本文的指示使用了名為 TestResources 的資源群組。 在您的資源群組中,選取結果清單中的 [...],然後選取 [ 刪除資源群組]。
系統將會要求您確認是否刪除資源群組。 輸入要確認的資源群組名稱,然後選取 [ 刪除]。
幾分鐘后,資源群組及其所有資源都會遭到刪除。