Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Wiele aplikacji musi używać różnych konfiguracji dla różnych środowisk. Załóżmy, że aplikacja ma wartość konfiguracji, która definiuje punkt końcowy do użycia dla bazy danych zaplecza. Deweloperzy aplikacji używają innej bazy danych niż używana w środowisku produkcyjnym. Punkt końcowy bazy danych używany przez aplikację musi ulec zmianie, gdy aplikacja przechodzi z programowania do środowiska produkcyjnego.
W usłudze Azure App Configuration można użyć etykiet , aby zdefiniować różne wartości dla tego samego klucza. Można na przykład zdefiniować pojedynczy klucz z różnymi wartościami programowania i produkcji. Możesz określić, która etykieta ma być ładowana podczas nawiązywania połączenia z usługą App Configuration.
Aby zademonstrować tę funkcję, zmodyfikujesz aplikację internetową utworzoną w przewodniku Szybki start: tworzenie aplikacji ASP.NET Core za pomocą usługi Azure App Configuration w celu używania różnych ustawień konfiguracji na potrzeby programowania i produkcji. Przed kontynuowaniem ukończ szybki start.
Określanie etykiety podczas dodawania wartości konfiguracji
W witrynie Azure Portal przejdź do Eksploratora konfiguracji i znajdź klucz TestApp:Settings:FontColor utworzony w przewodniku Szybki start. Wybierz menu kontekstowe, a następnie wybierz pozycję Dodaj wartość.
Na ekranie Dodawanie wartości wprowadź wartośćczerwoną i etykietęprogramowania. Pozostaw pusty typ zawartości . Wybierz i zastosuj.
Załaduj wartości konfiguracji z określoną etykietą
Domyślnie usługa Azure App Configuration ładuje tylko wartości konfiguracji bez etykiety. Jeśli zdefiniowano etykiety dla wartości konfiguracji, należy określić etykiety do użycia podczas nawiązywania połączenia z usługą App Configuration.
W poprzedniej sekcji utworzono inną wartość konfiguracji dla środowiska deweloperskiego. Zmienna HostingEnvironment.EnvironmentName
jest używana do dynamicznego określania, w jakim środowisku aktualnie działa aplikacja. Aby dowiedzieć się więcej, zobacz Używanie wielu środowisk w programie ASP.NET Core.
Dodaj odwołanie do przestrzeni nazw Microsoft.Extensions.Configuration.AzureAppConfiguration , aby uzyskać dostęp do klas KeyFilter i LabelFilter .
using Microsoft.Extensions.Configuration.AzureAppConfiguration;
Załaduj wartości konfiguracji z etykietą odpowiadającą bieżącemu środowisku, przekazując nazwę środowiska do Select
metody :
var builder = WebApplication.CreateBuilder(args);
builder.Configuration.AddAzureAppConfiguration(options =>
{
string endpoint = Environment.GetEnvironmentVariable("Endpoint");
options.Connect(new Uri(endpoint), new DefaultAzureCredential())
// Load configuration values with no label
.Select(KeyFilter.Any, LabelFilter.Null)
// Override with any configuration values specific to current hosting env
.Select(KeyFilter.Any, builder.Environment.EnvironmentName);
});
Metoda Select
jest wywoływana dwa razy. Po raz pierwszy ładuje wartości konfiguracji bez etykiety. Następnie ładuje wartości konfiguracji z etykietą odpowiadającą bieżącemu środowisku. Te wartości specyficzne dla środowiska zastępują wszystkie odpowiadające im wartości bez etykiety. Nie musisz definiować wartości specyficznych dla środowiska dla każdego klucza. Jeśli klucz nie ma wartości z etykietą odpowiadającą bieżącemu środowisku, używa wartości bez etykiety.
Testowanie w różnych środowiskach
Otwórz plik launchSettings.json
w katalogu Properties
. Znajdź wpis config
w polu profiles
. W sekcji environmentVariables
ustaw zmienną ASPNETCORE_ENVIRONMENT
na Production
.
Po ustawieniu nowych wartości skompiluj i uruchom aplikację.
dotnet build
dotnet run
Użyj przeglądarki internetowej, aby przejść do witryny http://localhost:5000
. Zauważysz, że kolor czcionki jest czarny.
Zaktualizuj launchSettings.json
, aby ustawić zmienną ASPNETCORE_ENVIRONMENT
na Development
. Uruchom ponownie dotnet run
.
Zauważysz, że kolor czcionki jest teraz czerwony. Dzieje się tak, ponieważ aplikacja używa teraz wartości TestApp:Settings:FontColor
, która ma etykietę Development
. Wszystkie inne wartości konfiguracji pozostają takie same jak ich wartości produkcyjne.
Następne kroki
Konfiguracja w usłudze ASP.NET Core