Szybki start: używanie usługi Azure Cache for Redis z aplikacją internetową platformy ASP.NET

W tym przewodniku Szybki start utworzysz aplikację internetową ASP.NET Visual Studio 2019, która łączy się z Azure Cache for Redis w celu przechowywania i pobierania danych z pamięci podręcznej. Następnie wdrożysz aplikację w Azure App Service.

Przejdź do kodu GitHub

Sklonuj repozytorium https://github.com/Azure-Samples/azure-cache-redis-samples/tree/main/quickstart/aspnet na GitHub.

Wymagania wstępne

  • Subskrypcja platformy Azure — utwórz bezpłatnie
  • Visual Studio 2019 r. z obciążeniami tworzenia aplikacji 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.

  1. Aby utworzyć pamięć podręczną, zaloguj się do Azure Portal i wybierz pozycję Utwórz zasób.

    Create a resource is highlighted in the left navigation pane.

  2. Na stronie Nowy wybierz pozycję Bazy danych, a następnie wybierz pozycję Azure Cache for Redis.

    On New, Databases is highlighted, and Azure Cache for Redis is highlighted.

  3. Na stronie Nowa pamięć podręczna Redis Cache skonfiguruj ustawienia nowej pamięci podręcznej.

    Ustawienie Wybieranie wartości Opis
    Subskrypcja Z listy rozwijanej i wybierz swoją subskrypcję. Subskrypcja, w ramach której ma zostać utworzone to nowe wystąpienie Azure Cache for Redis.
    Grupa zasobów Z listy rozwijanej i 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óre zawierają tylko cyfry, litery lub łą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 będzie nazwą <DNS.redis.cache.windows.net>.
    Lokalizacja Z listy rozwijanej i wybierz lokalizację. Wybierz region w pobliżu innych usług, które będą używać pamięci podręcznej.
    Typ pamięci podręcznej Z listy rozwijanej i wybierz warstwę. Warstwa określa rozmiar, wydajność i funkcje dostępne dla pamięci podręcznej. Aby uzyskać więcej informacji, zobacz Omówienie pamięci podręcznej Azure Cache for Redis.
  4. Wybierz kartę Sieć lub wybierz przycisk Sieć w dolnej części strony.

  5. Na karcie Sieć wybierz metodę łączności.

  6. Wybierz kartę Dalej: Zaawansowane lub wybierz przycisk Dalej: Zaawansowane w dolnej części strony.

  7. Na karcie Zaawansowane dla wystąpienia podstawowej lub standardowej pamięci podręcznej wybierz przełącznik włącz, jeśli chcesz włączyć port inny niż TLS. Możesz również wybrać wersję usługi Redis, której chcesz użyć, 4 lub 6.

    Redis version 4 or 6.

  8. Na karcie Zaawansowane dla wystąpienia pamięci podręcznej w warstwie Premium skonfiguruj ustawienia portów innych niż TLS, klastrowanie i trwałość danych. Możesz również wybrać wersję usługi Redis, której chcesz użyć, 4 lub 6.

  9. Wybierz kartę Dalej: Tagi lub wybierz przycisk Dalej: Tagi w dolnej części strony.

  10. Opcjonalnie na karcie Tagi wprowadź nazwę i wartość, jeśli chcesz sklasyfikować zasób.

  11. Wybierz pozycję Przejrzyj i utwórz. Zostanie wyświetlona karta Przeglądanie i tworzenie, na której platforma Azure weryfikuje konfigurację.

  12. Po pojawieniu się zielonego komunikatu Weryfikacja przekazana pomyślnie wybierz pozycję Utwórz.

Utworzenie pamięci podręcznej zajmuje trochę czasu. Postęp można monitorować na stronie Przegląd Azure Cache for Redis. Gdy stan jest wyświetlany jako Uruchomiono, pamięć podręczna jest gotowa do użycia.

Pobieranie nazwy hosta, portów i kluczy dostępu z Azure Portal

Aby połączyć serwer Azure Cache for Redis, klient pamięci podręcznej potrzebuje nazwy hosta, portów i klucza pamięci podręcznej. Niektórzy klienci mogą odwoływać się do tych elementów przy użyciu nieco innych nazw. Nazwę hosta, porty i klucze można pobrać z Azure Portal.

  • Aby uzyskać klucze dostępu, w obszarze nawigacji po lewej stronie pamięci podręcznej wybierz pozycję Klucze dostępu.

    Azure Cache for Redis keys

  • Aby uzyskać nazwę hosta i porty, w obszarze nawigacji po lewej stronie pamięci podręcznej wybierz pozycję Właściwości. Nazwa hosta jest nazwą DNS.redis.cache.windows.net<>.

    Azure Cache for Redis properties

Aby edytować plik CacheSecrets.config

  1. 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.

  2. Edytuj plik CacheSecrets.config. Następnie dodaj następującą zawartość:

    <appSettings>
        <add key="CacheConnection" value="<cache-name>.redis.cache.windows.net,abortConnect=false,ssl=true,allowAdmin=true,password=<access-key>"/>
    </appSettings>
    
  3. Zastąp element <cache-name> nazwą hosta pamięci podręcznej.

  4. Zastąp element <access-key> kluczem podstawowym pamięci podręcznej.

    Porada

    Podczas wymiany klucza można użyć pomocniczego klucza dostępu jako klucza alternatywnego, gdy następuje ponowne generowanie podstawowego klucza dostępu.

  5. Zapisz plik.

Aktualizowanie aplikacji MVC

W tej sekcji zobaczysz aplikację MVC, która przedstawia widok, który wyświetla prosty test względem Azure Cache for Redis.

Jak plik web.config łączy się z pamięcią podręczną

Jeśli aplikacja jest uruchamiana lokalnie, informacje w pliku CacheSecrets.config są używane do łączenia z wystąpieniem usługi Azure Cache for Redis. Później możesz wdrożyć tę aplikację na platformie Azure. W tym czasie skonfigurujesz na platformie Azure ustawienie aplikacji, którego aplikacja używa do pobierania informacji o połączeniu pamięci podręcznej zamiast tego pliku.

Ponieważ plik CacheSecrets.config nie został wdrożony na platformie Azure za pomocą aplikacji, możesz go używać tylko podczas lokalnego testowania aplikacji. Aby zapobiec złośliwemu dostępowi do danych w pamięci podręcznej, maksymalnie zabezpiecz te informacje.

Aktualizowanie pliku web.config

  1. W Eksplorator rozwiązań otwórz plik web.config.

    Web.config

  2. W pliku web.config można ustawić <appSetting> element do uruchamiania aplikacji lokalnie.

    <appSettings file="C:\AppSecrets\CacheSecrets.config">

Środowisko uruchomieniowe ASP.NET scala zawartość pliku zewnętrznego ze znacznikami w elemencie <appSettings>. Środowisko uruchomieniowe ignoruje atrybut pliku, jeśli nie można odnaleźć określonego pliku. Wpisy tajne (parametry połączenia z pamięcią podręczną) nie są dołączone jako część kodu źródłowego aplikacji. Podczas wdrażania aplikacji internetowej na platformie Azure plik CacheSecrets.config nie jest wdrażany.

Instalowanie biblioteki StackExchange.Redis

Twoje rozwiązanie wymaga StackExchange.Redis uruchomienia pakietu. Zainstaluj ją, korzystając z tej procedury:

  1. Aby skonfigurować aplikację do używania pakietu NuGet StackExchange.Redis dla Visual Studio, wybierz pozycję Narzędzia > NuGet Menedżer pakietów > konsoli Menedżer pakietów.

  2. W oknie Package Manager Console uruchom następujące polecenie:

    Install-Package StackExchange.Redis
    
  3. Pakiet NuGet pobiera i dodaje wymagane odwołania do zestawów dla aplikacji klienckiej w celu uzyskania dostępu do Azure Cache for Redis za StackExchange.Redis pomocą klienta.

Połączenie do pamięci podręcznej za pomocą programu RedisConnection

Połączenie z pamięcią podręczną jest zarządzane przez klasę RedisConnection . Połączenie jest najpierw nawiązywane w tej instrukcji z :ContosoTeamStats/Controllers/HomeController.cs

   private static Task<RedisConnection> _redisConnectionFactory = RedisConnection.InitializeAsync(connectionString: ConfigurationManager.AppSettings["CacheConnection"].ToString()););

Dostęp do wartości wpisu tajnego CacheConnection jest uzyskiwany przy użyciu dostawcy konfiguracji programu Secret Manager i jest używany jako parametr hasła.

W RedisConnection.cspliku zobaczysz, że StackExchange.Redis 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 odtwarza połączenie, gdy połączenie zostanie utracone i nie będzie można nawiązać połączenia automatycznie.

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 Azure Cache for Redis Test na tej stronie.

  1. W Eksploratorze rozwiązań rozwiń folder Widoki>Udostępnione. Następnie otwórz plik _Layout.cshtml

  2. 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" })
    

    screenshot of welcome page

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.

  1. W Eksploratorze rozwiązań rozwiń folder Widoki, a następnie kliknij prawym przyciskiem myszy folder Główny.

  2. 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

  1. W Visual Studio wybierz pozycję DebugujStart Debugowanie>, aby skompilować i uruchomić aplikację lokalnie na potrzeby testowania i debugowania.

  2. W przeglądarce wybierz pozycję Test usługi Azure Cache for Redis na pasku nawigacyjnym.

  3. 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 polecenia PING i CLIENT LIST.

    Screenshot of simple test completed local

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

  1. W programie Visual Studio kliknij prawym przyciskiem myszy węzeł projektu w Eksploratorze rozwiązań. Następnie wybierz pozycję Opublikuj.

    Publish

  2. Wybierz pozycję Microsoft Azure App Service, wybierz opcję Utwórz nowy, a następnie wybierz pozycję Opublikuj.

    Publish to App Service

  3. 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.

    App Service dialog box

  4. Po skonfigurowaniu ustawień hostingu usługi App Service wybierz pozycję Utwórz.

  5. Monitoruj okno Dane wyjściowe w programie Visual Studio, aby zobaczyć stan publikowania. Po opublikowaniu aplikacji zostaje zarejestrowany jej adres URL:

    Publishing output

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

  1. Wpisz nazwę aplikacji na pasku wyszukiwania w górnej części witryny Azure Portal, aby znaleźć nową utworzoną aplikację.

    Find app

  2. 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 dla CacheConnection w pliku CacheSecrets.config. Wartość zawiera nazwę hosta pamięci podręcznej i klucz dostępu.

    Add app setting

Uruchamianie aplikacji na platformie Azure

  1. 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.

  2. Wybierz pozycję Azure Cache for Redis Testuj na pasku nawigacyjnym, aby przetestować dostęp do pamięci podręcznej, tak jak w przypadku wersji lokalnej.

Czyszczenie zasobów

Jeśli nadal używasz tego przewodnika Szybki start, możesz zachować utworzone zasoby i użyć ich ponownie.

W przeciwnym razie po zakończeniu pracy z przykładową aplikacją poradnika Szybki start możesz usunąć zasoby platformy Azure utworzone w tym poradniku Szybki start, 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 utworzono zasoby do hostowania tego przykładu w istniejącej grupie zasobów zawierającej zasoby, które chcesz zachować, możesz usunąć każdy zasób indywidualnie po lewej stronie zamiast usuwać grupę zasobów.

Aby usunąć grupę zasobów

  1. Zaloguj się do witryny Azure Portal, a następnie wybierz pozycję Grupy zasobów.

  2. W polu Filtruj według nazwy... wpisz nazwę grupy zasobów. Instrukcje w tym artykule używają grupy zasobów o nazwie TestResources. Dla grupy zasobów na liście wyników kliknij pozycję ..., a następnie wybierz pozycję Usuń grupę zasobów.

    Delete

  3. 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.

Następne kroki