Aracılığıyla paylaş


Hızlı Başlangıç: İlk .NET.NET Aspire çözümünüzü oluşturma

Bulutta yerel uygulamalar genellikle veritabanları, depolama ve önbelleğe alma çözümleri, mesajlaşma sağlayıcıları veya diğer web hizmetleri gibi çeşitli hizmetlere bağlantı gerektirir. .NET .NET Aspire, bu tür hizmetler arasındaki bağlantıları ve yapılandırmaları kolaylaştırmak için tasarlanmıştır. Bu hızlı başlangıçta, .NET.NET Aspire Starter Uygulaması şablon çözümünün nasıl oluşturulacağı gösterilmektedir.

Bu hızlı başlangıçta aşağıdaki görevleri keşfedersiniz:

  • .NET Aspirekullanmak üzere ayarlanmış temel bir .NET uygulaması oluşturun.
  • Proje oluşturma zamanında önbelleğe alma uygulamak için .NET.NET Aspire tümleştirmesi ekleyin ve yapılandırın.
  • Bir API oluşturun ve buna bağlanmak için hizmet bulmayı kullanın.
  • Ön uç kullanıcı arabirimi, arka uç API'si ve yerel Redis önbelleği arasındaki iletişimi düzenleme.

Önkoşullar

.NET .NET Aspireile çalışmak için aşağıdakilerin yerel olarak yüklenmesi gerekir:

Daha fazla bilgi için bkz. .NET.NET Aspire kurulum ve araçve .NET.NET Aspire SDK.

.NET .NET Aspire şablonu oluşturma

Yeni .NET Aspire Başlangıç Uygulaması oluşturmak için Visual Studio, Visual Studio Codeveya .NET CLI kullanabilirsiniz.

Visual Studio, sizin için bazı ilk kurulum yapılandırmalarını işleyen .NET Aspire şablonları sağlar. Bu hızlı başlangıçta proje oluşturmak için aşağıdaki adımları tamamlayın:

  1. Visual Studioüst kısmında Dosya>Yeni>Projeadresine gidin.

  2. İletişim kutusunda Aspire arayın ve .NET.NET Aspire Başlangıç Uygulamasıseçin. Sonrakiseçin.

    .NET.NET Aspire Başlangıç Uygulaması şablonunun ekran görüntüsü.

  3. Yeni projenizi yapılandırın ekranında:

    • AspireSampleProje Adı girin.
    • Değerleri varsayılanlarında rest bırakın ve İleriseçin.
  4. Ek Bilgi ekranında:

    • .NET 9.0 (Standart Terim Desteği) seçildiğinden emin olun.
    • Önbelleğe alma için Redis kullan (desteklenen bir kapsayıcı çalışma zamanı gerektirir) işaretlendiğinden emin olun ve oluşturseçin.
    • İsteğe bağlı olarak, bir test projesi oluşturseçebilirsiniz. Daha fazla bilgi için bkz. İlk .NET.NET Aspire testinizi yazın.

Visual Studio, .NET Aspirekullanmak üzere yapılandırılmış yeni bir çözüm oluşturur.

Visual Studio Code, sizin için bazı ilk kurulum yapılandırmalarını işleyen .NET Aspire proje şablonları sağlar. Bu hızlı başlangıçta proje oluşturmak için aşağıdaki adımları tamamlayın:

  1. Yeni bir Visual Studio Code örneği penceresinden (klasör açık değilken), .NET proje oluştur düğmesini seçin.

  2. .NET .NET Aspire Başlangıç Uygulaması şablonunu seçin.

    .NET.NET Aspire Başlangıç Uygulaması şablonunun ekran görüntüsü.

şablonlarını henüz yüklemediyseniz aşağıdaki komutunu çalıştırın:

dotnet new install Aspire.ProjectTemplates

Yukarıdaki .NET CLI komutu, .NET Aspire şablonlarının kullanılabilir olmasını sağlar. Şablondan .NET.NET Aspire Starter Uygulaması oluşturmak için aşağıdaki dotnet new komutunu çalıştırın:

dotnet new aspire-starter --use-redis-cache --output AspireSample

Daha fazla bilgi için bkz. dotnet new. .NET CLI, .NET Aspirekullanacak şekilde yapılandırılmış yeni bir çözüm oluşturur.

Kullanılabilir şablonlar hakkında daha fazla bilgi için bkz. şablonları.

Uygulamayı yerel olarak test edin

Örnek uygulama, Minimal API projesiyle iletişim kuran bir ön uç Blazor uygulaması içerir. API projesi ön uçta sahte hava durumu verileri sağlamak için kullanılır. Ön uç uygulaması, API projesine bağlanmak için hizmet bulmayı kullanacak şekilde yapılandırılmıştır. API projesi, Redisile çıktı önbelleğe alma kullanacak şekilde yapılandırılmıştır. Örnek uygulama artık test için hazırdır. Aşağıdaki koşulları doğrulamak istiyorsunuz:

  • Hava durumu verileri, hizmet bulma kullanılarak API projesinden alınır ve hava durumu sayfasında görüntülenir.
  • Sonraki istekler, .NET AspireRedis tümleştirmesi tarafından yapılandırılan çıkış önbelleğe alma yoluyla işlenir.

Visual Studio'da, Çözüm Gezgini'de AspireSample.AppHost projesine sağ tıklayıp Başlangıç Projesi Olarak Ayarlaseçeneğini seçerek projeyi başlangıç projesi olarak ayarlayın. Başlangıç projesi olarak zaten otomatik olarak ayarlanmış olabilir. Ayarlandıktan sonra, uygulamayı çalıştırmak için F5 veya (Ctrl + F5 hata ayıklama olmadan çalışacak) tuşlarına basın.

Uygulamayı çalıştırmadan önce ASP.NET Corelocalhost sertifikasına güvenmeniz gerekir. Aşağıdaki komutu çalıştırın:

dotnet dev-certs https --trust

Daha fazla bilgi için bkz. güvenilmeyen sertifikası sorunlarını giderme . Linux localhost sertifika sorunlarını giderme hakkında ayrıntılı bilgi için bkz. ASP.NET Core: GitHub depo sorunu #32842.

Visual Studio Code'da, uygulamayı başlatmak için F5 basın. Hangi dili seçmeniz istenir ve C# önerilir. C#'i seçin ve sonra Varsayılan Yapılandırmaile AspireSample.AppHost projesini seçin.

AspireSample.AppHost projesi için Visual Studio Code başlatma yapılandırmasının ekran görüntüsü.

.NET Aspireilk kez çalıştırıyorsanız veya yeni bir .NET yüklemesine sahip yeni bir makineyse, otomatik olarak imzalanan bir localhost sertifikası yüklemeniz istenir ve proje başlatılamaz:

Bir istisna üzerinde durarak güvenilir bir kendi kendine imzalanmış sertifika oluşturulmasını isteyen Visual Studio Code'ün ekran görüntüsü.

Evet seçin ve öz-imzalı sertifikanın başarıyla oluşturulduğunu gösteren bir bilgilendirme mesajı göreceksiniz :

Otomatik olarak imzalanan sertifika oluşturmaya yönelik Visual Studio Code başarı iletisinin ekran görüntüsü.

Sorun yaşamaya devam ediyorsanız tüm tarayıcı pencerelerini kapatın ve yeniden deneyin. Daha fazla bilgi için bkz. .NET Aspiregüvenilmeyen localhost sertifikası sorunlarını giderme.

Bahşiş

MacOS kullanıyor ve Safari kullanıyorsanız, sayfa boşsa tarayıcınız açıldığında sayfayı el ile yenilemeniz gerekebilir.

dotnet run --project AspireSample/AspireSample.AppHost

Daha fazla bilgi için bkz. dotnet run.

  1. Uygulama, .NET.NET Aspire panosunu tarayıcıda görüntüler. Panoya daha sonra daha ayrıntılı bir şekilde bakabilirsiniz. Şimdilik kaynak listesinde webfrontend projesini bulun ve projenin localhost uç noktasını seçin.

    Webfrontend projesinin localhost uç noktasını vurgulayan .NET Aspire Panosunun ekran görüntüsü.

    webfrontend uygulamasının giriş sayfasında "Hello, world!" ifadesi görüntülenir

  2. Sol taraftaki gezintiyi kullanarak giriş sayfasından hava durumu sayfasına gidin. Hava durumu sayfasında hava durumu verileri görüntülenir. Tahmin tablosunda temsil edilen değerlerden bazılarını not edin.

  3. Zaman zaman sayfayı 10 saniye boyunca yenilemeye devam edin. 10 saniye içinde önbelleğe alınan veriler döndürülür. Sonuç olarak, veriler rastgele oluşturulduğundan ve önbellek güncelleştirildiğinden farklı bir hava durumu verileri kümesi görüntülenir.

API'den alınan hava durumu verilerini gösteren webfrontend uygulamasının Hava Durumu sayfası.

🤓 Tebrikler! İlk .NET.NET Aspire çözümünüzü oluşturdunuz ve çalıştırdunuz! Uygulamayı durdurmak için tarayıcı penceresini kapatın.

uygulamayı 'da durdurmak için Hata Ayıklama menüsünden Hata Ayıklamayı Durdur seçin.

uygulamayı Visual Studio Codedurdurmak için, Shift + F5tuşlarına basın veya pencerenin üst orta kısmındaki Durdur düğmesini seçin:

Visual Studio Code durdur düğmesinin ekran görüntüsü.

Uygulamayı durdurmak için terminal penceresinde Ctrl + C basın.

Ardından yeni .NET.NET Aspire çözümünüzün yapısını ve diğer özelliklerini araştırın.

.NET .NET Aspire panosunu keşfedin

.NET .NET Aspire bir proje çalıştırdığınızda, uygulamanızın çeşitli bölümlerini izlemek için kullandığınız bir pano başlatılır. Pano aşağıdaki ekran görüntüsüne benzer:

Projeler sekmesini gösteren .NET.NET Aspire Panosu'nun ekran görüntüsü.

.NET .NET Aspire kaynakları hakkında farklı bilgileri görüntülemek için sol gezintiyi kullanarak her sayfayı ziyaret edin:

  • Kaynaklar: .NET Aspire projenizdeki tek tek tüm .NET projeleri için uygulama durumu, uç nokta adresleri ve içinde yüklenen ortam değişkenleri gibi temel bilgileri listeler.

  • Konsol: Uygulamanızdaki projelerin her birinden konsol çıkışını görüntüler.

  • Yapılandırılmış: Yapılandırılmış günlükleri tablo biçiminde görüntüler. Bu günlükler temel filtrelemeyi, serbest biçimli aramayı ve günlük düzeyi filtrelemeyi de destekler. apiservice ve webfrontendgünlüklerini görmelisiniz. Satırın sağ ucundaki Görünüm düğmesini seçerek her günlük girdisinin ayrıntılarını genişletebilirsiniz.

  • İzlemeler: Uygulamanızın izlemelerini görüntüler. Bu izlemeler, uygulamalarınızın üzerinden istek yollarını izleyebilir. /weather için bir istek bulun ve sayfanın sağ tarafında 'Görünümü Görüntüle' seçeneğini seçin. Pano, uygulamanızın farklı bölümlerinden geçerken isteği aşamalı olarak görüntülemelidir.

    Webfrontend /weather route için .NET.NET Aspire pano izlemesini gösteren ekran görüntüsü.

  • Ölçümler: Uygulamanız için kullanıma sunulan çeşitli araçları ve ölçümleri ve bunların ilgili boyutlarını görüntüler. Ölçümler, filtreleri kullanılabilir boyutlarına göre koşullu olarak kullanıma sunar.

    Web ön yüz için Aspire pano ölçümleri sayfasını gösteren ekran görüntüsü.

Daha fazla bilgi için bkz. .NET.NET Aspire pano genel bakış.

.NET .NET Aspire çözüm yapısını anlama

Çözüm aşağıdaki projelerden oluşur:

  • AspireSample.ApiService: Ön uca veri sağlamak için ASP.NET Core Minimal API projesi kullanılır. Bu proje, paylaşılan AspireSample.ServiceDefaults projesine bağımlıdır.
  • AspireSample.AppHost: Uygulamanızın farklı projelerini ve hizmetlerini bağlamak ve yapılandırmak için tasarlanmış bir düzenleyici projesi. Düzenleyici, Başlangıç projesi olarak ayarlanmalıdır ve AspireSample.ApiService ve AspireSample.Web projelerine bağlıdır.
  • AspireSample.ServiceDefaults: dayanıklılık, hizmet bulmave telemetriile ilgili çözümünüzdeki projeler arasında yeniden kullanılan yapılandırmaları yönetmek için paylaşılan .NET.NET Aspire proje.
  • AspireSample.Web: Varsayılan hizmet yapılandırmalarına sahip bir Uygulaması projesi olan bu proje, aspireSample.ServiceDefaults projesine bağlıdır. Daha fazla bilgi için bkz. .NET.NET Aspire hizmet varsayılanları.

AspireSample dizininiz aşağıdaki yapıya benzemelidir:

└───📂 AspireSample
     ├───📂 AspireSample.ApiService
     │    ├───📂 Properties
     │    │    └─── launchSettings.json
     │    ├─── appsettings.Development.json
     │    ├─── appsettings.json
     │    ├─── AspireSample.ApiService.csproj
     │    └─── Program.cs
     ├───📂 AspireSample.AppHost
     │    ├───📂 Properties
     │    │    └─── launchSettings.json
     │    ├─── appsettings.Development.json
     │    ├─── appsettings.json
     │    ├─── AspireSample.AppHost.csproj
     │    └─── Program.cs
     ├───📂 AspireSample.ServiceDefaults
     │    ├─── AspireSample.ServiceDefaults.csproj
     │    └─── Extensions.cs
     ├───📂 AspireSample.Web
     │    ├───📂 Components
     │    │    ├───📂 Layout
     │    │    │    ├─── MainLayout.razor
     │    │    │    ├─── MainLayout.razor.css
     │    │    │    ├─── NavMenu.razor
     │    │    │    └─── NavMenu.razor.css
     │    │    ├───📂 Pages
     │    │    │    ├─── Counter.razor
     │    │    │    ├─── Error.razor
     │    │    │    ├─── Home.razor
     │    │    │    └─── Weather.razor
     │    │    ├─── _Imports.razor
     │    │    ├─── App.razor
     │    │    └─── Routes.razor
     │    ├───📂 Properties
     │    │    └─── launchSettings.json
     │    ├───📂 wwwroot
     │    │    ├───📂 bootstrap
     │    │    │    ├─── bootstrap.min.css
     │    │    │    └─── bootstrap.min.css.map
     │    │    ├─── app.css
     │    │    └─── favicon.png
     │    ├─── appsettings.Development.json
     │    ├─── appsettings.json
     │    ├─── AspireSample.Web.csproj
     │    ├─── Program.cs
     │    └─── WeatherApiClient.cs
     └─── AspireSample.sln

Başlangıç projelerini keşfedin

bir .NET.NET Aspire çözümündeki her proje, uygulamanızın bileşiminde rol oynar. *. Web projesi, ön uç kullanıcı arabirimi sağlayan standart bir ASP.NET CoreBlazor Uygulamasıdır. Daha fazla bilgi için bkz. 9.0'daki yenilikler: . *. ApiService projesi standart ASP.NET Core Minimal API şablon projesidir. Bu projelerin her ikisi de, çözümünüzdeki projeler arasında yeniden kullanılan yapılandırmaları yönetmek için kullanılan ve paylaşılan bir proje olan *.ServiceDefaults'e bağlıdır.

Bu hızlı başlangıçta ilgilendiğiniz iki proje, aşağıdaki bölümlerde ayrıntıları verilen *.AppHost ve *.ServiceDefaults projeleridir.

Konak proje .NET.NET Aspire

*. AppHost projesi düzenleyici olarak davranmaktan sorumludur ve proje dosyasının IsAspireHost özelliğini trueolarak ayarlar:

<Project Sdk="Microsoft.NET.Sdk">

  <Sdk Name="Aspire.AppHost.Sdk" Version="9.0.0" />

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net9.0</TargetFramework>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>enable</Nullable>
    <IsAspireHost>true</IsAspireHost>
    <UserSecretsId>2aa31fdb-0078-4b71-b953-d23432af8a36</UserSecretsId>
  </PropertyGroup>

  <ItemGroup>
    <ProjectReference Include="..\AspireSample.ApiService\AspireSample.ApiService.csproj" />
    <ProjectReference Include="..\AspireSample.Web\AspireSample.Web.csproj" />
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="Aspire.Hosting.AppHost" Version="9.0.0" />
    <PackageReference Include="Aspire.Hosting.Redis" Version="9.0.0" />
  </ItemGroup>

</Project>

Daha fazla bilgi için bkz. .NET.NET Aspire düzenlemeye genel bakış ve .NET.NET Aspire SDK.

AspireSample.AppHost projesinin Program.cs dosyasını göz önünde bulundurun:

var builder = DistributedApplication.CreateBuilder(args);

var cache = builder.AddRedis("cache");

var apiService = builder.AddProject<Projects.AspireSample_ApiService>("apiservice");

builder.AddProject<Projects.AspireSample_Web>("webfrontend")
    .WithExternalHttpEndpoints()
    .WithReference(cache)
    .WaitFor(cache)
    .WithReference(apiService)
    .WaitFor(apiService);

builder.Build().Run();

Daha önce .NET Genel Ana Bilgisayar veya ASP.NET Core Web Konağı kullandıysanız, uygulama konağı programlama modeli ve oluşturucu deseni size tanıdık gelmelidir. Önceki kod:

  • DistributedApplication.CreateBuilder()çağrısından bir IDistributedApplicationBuilder örneği oluşturur.
  • Uygulamaya Redisserver eklemek için "cache" adlı AddRedis çağırır ve döndürülen değeri IResourceBuilder<RedisResource>türünde olan cacheadlı bir değişkene atar.
  • Projenin ayrıntılarını içeren genel tür parametresiyle AddProject çağrısı yapılır ve AspireSample.ApiService projesi uygulama modeline eklenir. Bu, .NET.NET Aspiretemel yapı yapılarından biridir ve uygulamanızdaki projeler arasındaki hizmet bulma ve iletişimi yapılandırmak için kullanılır. "apiservice" ad bağımsız değişkeni, uygulama modelindeki projeyi tanımlamak için kullanılır ve daha sonra onunla iletişim kurmak isteyen projeler tarafından kullanılır.
  • Bu kez AspireSample.Web projesini uygulama modeline ekleyerek AddProject yeniden çağırır. Birden çok çağrıyı WithReference'a zincirler ve cache ile apiService değişkenlerini geçirir. WithReference API'si, uygulama modeline eklenen projeye hizmet bulma bilgilerini veya bağlantı dizesi yapılandırmasını ekleyen .NET.NET Aspire'nin başka bir temel API'sidir. Ayrıca, AspireSample.Web projesi başlatılmadan önce cache ve apiService kaynaklarının kullanılabilir olduğundan emin olmak için WaitFor API'sine yapılan çağrılar kullanılır. Daha fazla bilgi için bkz. .NET.NET Aspire orkestrasyonu:kaynakların beklenmesi.

Son olarak uygulama derlenir ve çalıştırılır. DistributedApplication.Run() yöntemi, uygulamayı ve tüm bağımlılıklarını başlatmakla sorumludur. Daha fazla bilgi için bkz. .NET.NET Aspire düzenlemeye genel bakış.

Bahşiş

AddRedis çağrısı, uygulamanın kullanması için yerel bir Redis kapsayıcısı oluşturur. Yalnızca mevcut bir Redis örneğine işaret etmeyi tercih ederseniz, mevcut bir bağlantı dizesine başvurmak için AddConnectionString yöntemini kullanabilirsiniz. Daha fazla bilgi için bkz. Var olan kaynaklara başvurma.

.NET .NET Aspire projelerinin hizmet varsayılanları

*. ServiceDefaults projesi, çözümünüzdeki projeler arasında yeniden kullanılan yapılandırmaları yönetmek için kullanılan paylaşılan bir projedir. Bu proje, tüm bağımlı hizmetlerin aynı dayanıklılığı, hizmet bulmasını ve OpenTelemetry yapılandırmasını paylaşmasını sağlar. Paylaşılan .NET.NET Aspire proje dosyası, trueolarak ayarlanan IsAspireSharedProject özelliğini içerir:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>net9.0</TargetFramework>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>enable</Nullable>
    <IsAspireSharedProject>true</IsAspireSharedProject>
  </PropertyGroup>

  <ItemGroup>
    <FrameworkReference Include="Microsoft.AspNetCore.App" />

    <PackageReference Include="Microsoft.Extensions.Http.Resilience" Version="9.0.0" />
    <PackageReference Include="Microsoft.Extensions.ServiceDiscovery" Version="9.0.0" />
    <PackageReference Include="OpenTelemetry.Exporter.OpenTelemetryProtocol" Version="1.10.0" />
    <PackageReference Include="OpenTelemetry.Extensions.Hosting" Version="1.10.0" />
    <PackageReference Include="OpenTelemetry.Instrumentation.AspNetCore" Version="1.10.1" />
    <PackageReference Include="OpenTelemetry.Instrumentation.Http" Version="1.10.0" />
    <PackageReference Include="OpenTelemetry.Instrumentation.Runtime" Version="1.10.0" />
  </ItemGroup>

</Project>

Hizmet varsayılanları projesi, IHostApplicationBuilder türünde AddServiceDefaultsadlı bir uzantı yöntemini kullanıma sunar. Bir şablondan gelen hizmet varsayılanları projesi bir başlangıç noktasıdır ve gereksinimlerinizi karşılayacak şekilde özelleştirebilirsiniz. Daha fazla bilgi için bkz. .NET.NET Aspire hizmet varsayılanları.

Hizmet iletişimlerini düzenleme

.NET .NET Aspire, uygulamanızın farklı bölümleri arasındaki bağlantıları ve iletişimi yapılandırmaya yardımcı olacak düzenleme özellikleri sağlar. AspireSample.AppHost projesi, uygulama modeline AspireSample.ApiService ve AspireSample.Web projelerini ekledi. Ayrıca adlarını Blazor ön uç için "webfrontend" olarak, API proje başvurusu için "apiservice" olarak da bildirmiş. Ayrıca, "cache" etiketli bir Redisserver kaynağı eklendi. Bu adlar, uygulamanızdaki projeler arasındaki hizmet bulmayı ve iletişimi yapılandırmak için kullanılır.

Ön uç uygulaması, API projesiyle iletişim kurmak için kullanılan, türü HttpClient olan bir yapı tanımlar.

namespace AspireSample.Web;

public class WeatherApiClient(HttpClient httpClient)
{
    public async Task<WeatherForecast[]> GetWeatherAsync(
        int maxItems = 10,
        CancellationToken cancellationToken = default)
    {
        List<WeatherForecast>? forecasts = null;

        await foreach (var forecast in 
            httpClient.GetFromJsonAsAsyncEnumerable<WeatherForecast>(
                "/weatherforecast", cancellationToken))
        {
            if (forecasts?.Count >= maxItems)
            {
                break;
            }
            if (forecast is not null)
            {
                forecasts ??= [];
                forecasts.Add(forecast);
            }
        }

        return forecasts?.ToArray() ?? [];
    }
}

public record WeatherForecast(DateOnly Date, int TemperatureC, string? Summary)
{
    public int TemperatureF => 32 + (int)(TemperatureC / 0.5556);
}

HttpClient, hizmet bulma özelliğini kullanacak şekilde yapılandırılmıştır. AspireSample.Web projesinin Program.cs dosyasındaki aşağıdaki kodu göz önünde bulundurun:

using AspireSample.Web;
using AspireSample.Web.Components;

var builder = WebApplication.CreateBuilder(args);

// Add service defaults & Aspire client integrations.
builder.AddServiceDefaults();
builder.AddRedisOutputCache("cache");

// Add services to the container.
builder.Services.AddRazorComponents()
    .AddInteractiveServerComponents();

builder.Services.AddHttpClient<WeatherApiClient>(client =>
    {
        // This URL uses "https+http://" to indicate HTTPS is preferred over HTTP.
        // Learn more about service discovery scheme resolution at https://aka.ms/dotnet/sdschemes.
        client.BaseAddress = new("https+http://apiservice");
    });

var app = builder.Build();

if (!app.Environment.IsDevelopment())
{
    app.UseExceptionHandler("/Error", createScopeForErrors: true);
    // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
    app.UseHsts();
}

app.UseHttpsRedirection();

app.UseAntiforgery();

app.UseOutputCache();

app.MapStaticAssets();

app.MapRazorComponents<App>()
    .AddInteractiveServerRenderMode();

app.MapDefaultEndpoints();

app.Run();

Önceki kod:

  • uygulama için paylaşılan varsayılanları yapılandırarak AddServiceDefaultsçağırır.
  • uygulama modeline Redis kapsayıcı "cache" eklenirken kullanılan connectionName ile AddRedisOutputCache çağırır. Bu, uygulamayı çıktı önbelleğe alma için Redis kullanacak şekilde yapılandırır.
  • AddHttpClient çağırır ve HttpClient.BaseAddress"https+http://apiservice"olacak şekilde yapılandırılır. Bu, API projesini uygulama modeline eklerken kullanılan addır ve hizmet bulma yapılandırıldığında API projesinin doğru adresine otomatik olarak çözümleniyor.

Daha fazla bilgi için bkz. HttpClient sınıfıyla HTTP istekleri oluşturma.

Ayrıca bkz.

Sonraki adımlar