Szybki start: używanie usługi Azure Cache for Redis z aplikacją internetową platformy ASP.NET
W tym przewodniku Szybki start użyjesz programu Visual Studio 2019 do utworzenia aplikacji internetowej ASP.NET łączącej się z usługą Azure Cache for Redis w celu przechowywania i pobierania danych z pamięci podręcznej. Następnie wdrożysz aplikację w usłudze aplikacja systemu Azure Service.
Przejdź do kodu w usłudze GitHub
Sklonuj repozytorium https://github.com/Azure-Samples/azure-cache-redis-samples/tree/main/quickstart/aspnet w usłudze GitHub.
Wymagania wstępne
- Subskrypcja platformy Azure — utwórz jedną bezpłatnie
- Program Visual Studio 2019 z obciążeniami ASP.NET i tworzenia aplikacji internetowych oraz tworzenia aplikacji na platformie Azure.
Tworzenie pamięci podręcznej
Następnie utworzysz pamięć podręczną dla aplikacji.
Aby utworzyć pamięć podręczną, zaloguj się do witryny Azure Portal. W menu portalu wybierz pozycję Utwórz zasób.
W okienku Wprowadzenie wprowadź ciąg Azure Cache for Redis na pasku wyszukiwania. W wynikach wyszukiwania znajdź usługę Azure Cache for Redis, a następnie wybierz pozycję Utwórz.
W okienku Nowa pamięć podręczna Redis Cache na karcie Podstawy skonfiguruj następujące ustawienia dla pamięci podręcznej:
Ustawienie Akcja opis Subskrypcja Wybierz subskrypcję platformy Azure. Subskrypcja do użycia w celu utworzenia nowego wystąpienia usługi Azure Cache for Redis. Grupa zasobów: Wybierz grupę zasobów lub wybierz pozycję Utwórz nową i wprowadź nową nazwę grupy zasobów. Nazwa grupy zasobów, w której ma zostać utworzona pamięć podręczna i inne zasoby. Umieszczając wszystkie zasoby aplikacji w jednej grupie zasobów, można je łatwo zarządzać lub usuwać razem. Nazwa DNS Wprowadź unikatową nazwę. Nazwa pamięci podręcznej musi być ciągiem od 1 do 63 znaków, który zawiera tylko cyfry, litery i łączniki. Nazwa musi zaczynać się i kończyć cyfrą lub literą i nie może zawierać kolejnych łączników. Nazwa hosta wystąpienia pamięci podręcznej to \<DNS name>.redis.cache.windows.net
.Lokalizacja Wybierz lokalizację. Region platformy Azure, który znajduje się w pobliżu innych usług korzystających z pamięci podręcznej. Jednostka SKU pamięci podręcznej Wybierz jednostkę SKU. Jednostka SKU określa rozmiar, wydajność i parametry funkcji, które są dostępne dla pamięci podręcznej. Aby uzyskać więcej informacji, zobacz Omówienie usługi Azure Cache for Redis. Rozmiar pamięci podręcznej Wybierz rozmiar pamięci podręcznej. Aby uzyskać więcej informacji, zobacz Omówienie usługi Azure Cache for Redis. Wybierz kartę Sieć lub wybierz pozycję Dalej: Sieć.
Na karcie Sieć wybierz metodę łączności do użycia dla pamięci podręcznej.
Wybierz kartę Zaawansowane lub wybierz pozycję Dalej: Zaawansowane.
W okienku Zaawansowane sprawdź lub wybierz metodę uwierzytelniania na podstawie następujących informacji:
- Domyślnie w przypadku nowej pamięci podręcznej w warstwie Podstawowa, Standardowa lub Premium jest włączone uwierzytelnianie Entra firmy Microsoft, a uwierzytelnianie kluczy dostępu jest wyłączone.
- W przypadku pamięci podręcznych w warstwie Podstawowa lub Standardowa można wybrać opcję portu innego niż TLS.
- W przypadku pamięci podręcznych w warstwie Standardowa i Premium można włączyć strefy dostępności. Po utworzeniu pamięci podręcznej nie można wyłączyć stref dostępności.
- W przypadku pamięci podręcznej Premium skonfiguruj ustawienia portów innych niż TLS, klastrowanie, tożsamość zarządzana i trwałość danych.
Ważne
W celu uzyskania optymalnego bezpieczeństwa zalecamy użycie identyfikatora Entra firmy Microsoft z tożsamościami zarządzanymi w celu autoryzowania żądań względem pamięci podręcznej, jeśli to możliwe. Autoryzacja przy użyciu identyfikatora Entra firmy Microsoft i tożsamości zarządzanych zapewnia doskonałe zabezpieczenia i łatwość korzystania z autoryzacji klucza dostępu współdzielonego. Aby uzyskać więcej informacji na temat używania tożsamości zarządzanych z pamięcią podręczną, zobacz Use Microsoft Entra ID for cache authentication (Używanie identyfikatora Entra firmy Microsoft do uwierzytelniania w pamięci podręcznej).
(Opcjonalnie) Wybierz kartę Tagi lub wybierz pozycję Dalej: Tagi.
(Opcjonalnie) Na karcie Tagi wprowadź nazwę i wartość tagu, jeśli chcesz podzielić zasób pamięci podręcznej.
Wybierz przycisk Przejrzyj i utwórz.
Na karcie Przeglądanie i tworzenie platforma Azure automatycznie weryfikuje konfigurację.
Po pojawieniu się zielonego komunikatu Weryfikacja przekazana wybierz pozycję Utwórz.
Nowe wdrożenie pamięci podręcznej odbywa się w ciągu kilku minut. Postęp wdrażania można monitorować w okienku Przegląd usługi Azure Cache for Redis. Gdy zostanie wyświetlony stan Uruchomiono, pamięć podręczna jest gotowa do użycia.
Włączanie uwierzytelniania identyfikatora Entra firmy Microsoft w pamięci podręcznej
Jeśli masz pamięć podręczną, sprawdź, czy włączono uwierzytelnianie Firmy Microsoft Entra. Jeśli nie, włącz ją. Zalecamy używanie identyfikatora Entra firmy Microsoft dla Twoich aplikacji.
W witrynie Azure Portal wybierz wystąpienie usługi Azure Cache for Redis, w którym chcesz użyć uwierzytelniania opartego na tokenach firmy Microsoft.
Wybierz pozycję Uwierzytelnianie z menu Zasób.
Sprawdź w okienku roboczym, czy jest zaznaczone pole wyboru Włącz uwierzytelnianie firmy Microsoft Entra. Jeśli tak, możesz przejść dalej.
Wybierz pozycję Włącz uwierzytelnianie firmy Microsoft Entra i wprowadź nazwę prawidłowego użytkownika. Wprowadzony użytkownik jest automatycznie przypisywany zasad dostępu właściciela danych domyślnie po wybraniu pozycji Zapisz. Możesz również wprowadzić tożsamość zarządzaną lub jednostkę usługi, aby nawiązać połączenie z wystąpieniem pamięci podręcznej.
Zostanie wyświetlone okno podręczne z pytaniem, czy chcesz zaktualizować konfigurację, i informuje o tym, że zajmuje to kilka minut. Wybierz opcję Tak.
Ważne
Po zakończeniu operacji włączania węzły w wystąpieniu pamięci podręcznej są ponownie uruchamiane w celu załadowania nowej konfiguracji. Zalecamy wykonanie tej operacji w oknie obsługi lub poza godzinami pracy szczytu. Operacja może potrwać do 30 minut.
Aby uzyskać informacje na temat korzystania z identyfikatora Entra firmy Microsoft z interfejsem wiersza polecenia platformy Azure, zobacz strony referencyjne dotyczące tożsamości.
Aby edytować plik CacheSecrets.config
Utwórz plik na komputerze o nazwie CacheSecrets.config. Umieść go w lokalizacji, w której nie zostanie zaewidencjonowany przy użyciu kodu źródłowego przykładowej aplikacji. W tym przewodniku Szybki start plik CacheSecrets.config znajduje się w lokalizacji C:\AppSecrets\CacheSecrets.config.
Edytuj plik Web.config. Następnie dodaj następującą zawartość:
<appSettings> <add key="RedisHostName" value="<cache-hostname>:<port-number>"/> </appSettings>
Zastąp
<cache-hostname>
ciąg nazwą hosta pamięci podręcznej wyświetlaną w bloku Przegląd witryny Azure PortalZastąp
<port-number>
ciąg numerem portu hosta pamięci podręcznej.Zapisz plik.
Aktualizowanie aplikacji MVC
W tej sekcji zobaczysz aplikację MVC, która przedstawia widok przedstawiający prosty test usługi Azure Cache for Redis. Aplikacja MVC może nawiązać połączenie z wystąpieniem usługi Azure Managed Redis (wersja zapoznawcza), gdy konfiguracja "RedisHostName" wskazuje wystąpienie usługi Azure Managed Redis.
Instalowanie biblioteki StackExchange.Redis
Twoje rozwiązanie wymaga StackExchange.Redis
uruchomienia pakietu. Zainstaluj ją, korzystając z tej procedury:
Aby skonfigurować aplikację do korzystania z pakietu NuGet StackExchange.Redis dla programu Visual Studio, wybierz pozycję Narzędzia > NuGet Menedżer pakietów > konsoli Menedżer pakietów.
W oknie
Package Manager Console
uruchom następujące polecenie:Install-Package Microsoft.Azure.StackExchangeRedis
Pakiet NuGet pobiera i dodaje wymagane odwołania do zestawów dla aplikacji klienckiej w celu uzyskania dostępu do usługi Azure Cache for Redis za
Microsoft.Azure.StackExchangeRedis
pomocą klienta.
Nawiązywanie połączenia z pamięcią podręczną za pomocą programu RedisConnection
Połączenie z pamięcią podręczną jest zarządzane przez klasę RedisConnection
. Połączenie jest najpierw wykonywane w tej instrukcji z :ContosoTeamStats/Controllers/HomeController.cs
private static Task<RedisConnection> _redisConnectionFactory = RedisConnection.InitializeAsync(redisHostName: ConfigurationManager.AppSettings["RedisHostName"].ToString());
W RedisConnection.cs
pliku zobaczysz, StackExchange.Redis
że przestrzeń nazw została dodana do kodu. Jest to wymagane dla RedisConnection
klasy .
using StackExchange.Redis;
Kod RedisConnection
gwarantuje, że zawsze istnieje dobre połączenie z pamięcią podręczną przez zarządzanie wystąpieniem ConnectionMultiplexer
z programu StackExchange.Redis
. Klasa RedisConnection
ponownie utworzy połączenie, gdy połączenie zostanie utracone i nie będzie można nawiązać połączenia automatycznie.
Poniższy wiersz kodu używa identyfikatora Entra firmy Microsoft do nawiązywania połączenia z usługą Azure Cache for Redis lub Azure Managed Redis (wersja zapoznawcza) bez hasła.
var configurationOptions = await ConfigurationOptions.Parse($"{_redisHostName}").ConfigureForAzureWithTokenCredentialAsync(new DefaultAzureCredential());
Aby uzyskać więcej informacji, zobacz StackExchange.Redis i kod w repozytorium GitHub.
Widoki układu w przykładzie
Układ strony głównej dla tego przykładu jest przechowywany w pliku _Layout.cshtml . Na tej stronie rozpoczniesz rzeczywiste testowanie pamięci podręcznej, klikając test usługi Azure Cache for Redis na tej stronie.
W Eksploratorze rozwiązań rozwiń folder Widoki>Udostępnione. Następnie otwórz plik _Layout.cshtml
W pliku zostanie wyświetlony następujący wiersz
<div class="navbar-header">
.@Html.ActionLink("Azure Cache for Redis Test", "RedisCache", "Home", new { area = "" }, new { @class = "navbar-brand" })
Wyświetlanie danych z pamięci podręcznej
Na stronie głównej wybierz pozycję Azure Cache for Redis Test , aby wyświetlić przykładowe dane wyjściowe.
W Eksploratorze rozwiązań rozwiń folder Widoki, a następnie kliknij prawym przyciskiem myszy folder Główny.
Ten kod powinien zostać wyświetlony w pliku 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>
Lokalne uruchamianie aplikacji
Domyślnie projekt jest konfigurowany do lokalnego hostowania aplikacji w usługach IIS Express na potrzeby testowania i debugowania.
Uruchamianie aplikacji lokalnie
W programie Visual Studio wybierz pozycje Debugowanie>Rozpocznij debugowanie, aby lokalnie skompilować i uruchomić aplikację na potrzeby testowania i debugowania.
W przeglądarce wybierz pozycję Test usługi Azure Cache for Redis na pasku nawigacyjnym.
W poniższym przykładzie klucz
Message
miał już w pamięci podręcznej wartość, która została ustawiona za pomocą konsoli usługi Azure Cache for Redis w portalu. Aplikacja zaktualizowała tę wartość w pamięci podręcznej. Aplikacja również wykonała poleceniaPING
iCLIENT LIST
.
Publikowanie i uruchamianie na platformie Azure
Po pomyślnym przetestowaniu aplikacji lokalnie możesz wdrożyć ją na platformie Azure i uruchomić w chmurze.
Aby opublikować aplikację na platformie Azure
W programie Visual Studio kliknij prawym przyciskiem myszy węzeł projektu w Eksploratorze rozwiązań. Następnie wybierz pozycję Opublikuj.
Wybierz pozycję Microsoft Azure App Service, wybierz opcję Utwórz nowy, a następnie wybierz pozycję Opublikuj.
W oknie dialogowym Tworzenie usługi App Service wprowadź następujące zmiany:
Ustawienie Zalecana wartość opis Nazwa aplikacji Użyj wartości domyślnej. Nazwa aplikacji będzie nazwą hosta dla aplikacji po wdrożeniu na platformie Azure. Nazwa może mieć dodany sufiks znacznika czasu, aby zapewnić jej unikatowość w razie potrzeby. Subskrypcja Wybierz subskrypcję platformy Azure. Dla tej subskrypcji zostanie naliczona opłata za wszelkie powiązane koszty hostingu. Jeśli masz wiele subskrypcji platformy Azure, sprawdź, czy została wybrana odpowiednia subskrypcja. Grupa zasobów: Użyj tej samej grupy zasobów, w której została utworzona pamięć podręczna (na przykład TestResourceGroup). Grupa zasobów pomaga zarządzać wszystkimi zasobami jako grupą. Później, gdy zechcesz usunąć aplikację, wystarczy tylko usunąć grupę. Plan usługi App Service Wybierz pozycję Nowy, a następnie utwórz nowy plan usługi App Service o nazwie TestingPlan.
Użyj tej samej lokalizacji, która była używana podczas tworzenia pamięci podręcznej.
Jako rozmiar wybierz wartość Bezpłatny.Plan usługi App Service definiuje zestaw zasobów obliczeniowych dla aplikacji internetowej używanych podczas jej uruchamiania. Po skonfigurowaniu ustawień hostingu usługi App Service wybierz pozycję Utwórz.
Monitoruj okno Dane wyjściowe w programie Visual Studio, aby zobaczyć stan publikowania. Po opublikowaniu aplikacji zostaje zarejestrowany jej adres URL:
Dodawanie ustawienia aplikacji dla pamięci podręcznej
Po opublikowaniu nowej aplikacji dodaj nowe ustawienie aplikacji. To ustawienie jest używane do zapisywania informacji o połączeniu z pamięcią podręczną.
Aby dodać ustawienie aplikacji
Wpisz nazwę aplikacji na pasku wyszukiwania w górnej części witryny Azure Portal, aby znaleźć nową utworzoną aplikację.
Dodaj ustawienie nowej aplikacji o nazwie CacheConnection dla aplikacji, aby jej używać do łączenia się z pamięcią podręczną. Użyj tej samej wartości, która została skonfigurowana
RedisHostName
w pliku web.config .
Uruchamianie aplikacji na platformie Azure
W przeglądarce przejdź do adresu URL aplikacji. Adres URL jest wyświetlany w wynikach operacji publikowania w oknie danych wyjściowych programu Visual Studio. Jest on również udostępniany w witrynie Azure Portal na stronie omówienia utworzonej przez Ciebie aplikacji.
Wybierz pozycję Azure Cache for Redis Test na pasku nawigacyjnym, aby przetestować dostęp do pamięci podręcznej, tak jak w przypadku wersji lokalnej.
Czyszczenie zasobów
Jeśli chcesz nadal korzystać z zasobów utworzonych w tym artykule, zachowaj grupę zasobów.
W przeciwnym razie, jeśli skończysz z zasobami, możesz usunąć utworzoną grupę zasobów platformy Azure, aby uniknąć naliczania opłat.
Ważne
Usunięcie grupy zasobów jest nieodwracalne. Jeśli usuniesz grupę zasobów, wszystkie zawarte w niej zasoby zostaną trwale usunięte. Uważaj, aby nie usunąć przypadkowo niewłaściwych zasobów lub grupy zasobów. Jeśli zasoby zostały utworzone w istniejącej grupie zasobów zawierającej zasoby, które chcesz zachować, możesz usunąć każdy zasób indywidualnie zamiast usuwać grupę zasobów.
Aby usunąć grupę zasobów
Zaloguj się do witryny Azure Portal, a następnie wybierz pozycję Grupy zasobów.
Wybierz grupę zasobów, którą chcesz usunąć.
Jeśli istnieje wiele grup zasobów, użyj pola Filtruj dla dowolnego pola... wpisz nazwę grupy zasobów utworzonej dla tego artykułu. Wybierz grupę zasobów na liście wyników.
Wybierz pozycję Usuń grupę zasobów.
Zobaczysz prośbę o potwierdzenie usunięcia grupy zasobów. Wpisz nazwę grupy zasobów w celu potwierdzenia, a następnie wybierz pozycję Usuń.
Po krótkim czasie grupa zasobów i wszystkie jej zasoby zostaną usunięte.