Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Uyarı
Bu, bu makalenin en son sürümü değildir. Geçerli sürüm için bu makalenin .NET 10 sürümüne bakın.
Uyarı
ASP.NET Core'un bu sürümü artık desteklenmiyor. Daha fazla bilgi için .NET ve .NET Core Destek Politikası'na bakın. Geçerli sürüm için bu makalenin .NET 9 sürümüne bakın.
Blazor en gerçekçi uygulama kullanıcı arabirimi senaryolarında yüksek performans için iyileştirilmiştir. Ancak en iyi performans, geliştiricilerin doğru desenleri ve özellikleri benimsemesine bağlıdır.
Uyarı
Makalelerin bu düğümündeki kod örnekleri, .NET 6 veya sonraki sürümlerinde ASP.NET Core'da desteklenen null atanabilir başvuru türlerini (NTS) ve .NET derleyici null durum statik analizini benimser.
Zamanından Önce (AOT) Derlemesi
Zamanından önce (AOT) derleme, tarayıcı tarafından doğrudan yürütülmesi için bir uygulamanın Blazor .NET kodunu doğrudan yerel WebAssembly'e derler. AOT ile derlenmiş uygulamalar, indirilmesi daha uzun süren daha büyük uygulamalarla sonuçlanır, ancak AOT ile derlenen uygulamalar, özellikle yoğun CPU kullanan görevler yürüten uygulamalar için genellikle daha iyi çalışma zamanı performansı sağlar. Daha fazla bilgi için bkz: ASP.NET Core Blazor WebAssembly derleme araçları ve önceden derleme (AOT).
Ölçümler ve izleme
Ölçümler ve izleme özellikleri, uygulama performansını izlemenize ve tanılamanıza, kullanıcı etkileşimlerini izlemenize ve üretim ortamlarındaki bileşen davranışını anlamanıza yardımcı olur.
Konfigürasyon
Uygulamanızda ölçümleri ve izlemeyi etkinleştirmek Blazor için OpenTelemetry'yi , hizmetlerin kayıtlı olduğu uygulama Program dosyasında aşağıdaki ölçümler ve etkinlik kaynaklarıyla yapılandırın:
builder.Services.ConfigureOpenTelemetryMeterProvider(meterProvider =>
{
meterProvider.AddMeter("Microsoft.AspNetCore.Components");
meterProvider.AddMeter("Microsoft.AspNetCore.Components.Lifecycle");
meterProvider.AddMeter("Microsoft.AspNetCore.Components.Server.Circuits");
});
builder.Services.ConfigureOpenTelemetryTracerProvider(tracerProvider =>
{
tracerProvider.AddSource("Microsoft.AspNetCore.Components");
tracerProvider.AddSource("Microsoft.AspNetCore.Components.Server.Circuits");
});
Performans ölçümleri
Aşağıdaki performans ölçümleri hakkında daha fazla bilgi için bkz. ASP.NET Core yerleşik ölçümleri.
Microsoft.AspNetCore.Components metre:
-
aspnetcore.components.navigate: Uygulamadaki toplam yol değişikliği sayısını izler. -
aspnetcore.components.handle_event.duration: İş mantığı da dahil olmak üzere tarayıcı olaylarını işleme süresini ölçer.
Microsoft.AspNetCore.Components.Lifecycle metre:
-
aspnetcore.components.update_parameters.duration: İş mantığı dahil olmak üzere bileşen parametrelerini işleme süresini ölçer. -
aspnetcore.components.render_diff.duration: Toplu işleme süresini izler. -
aspnetcore.components.render_diff.size: Toplu işleme sürecinin boyutunu izler.
Microsoft.AspNetCore.Components.Server.Circuits metre:
Sunucu tarafı Blazor uygulamalarda bağlantı hattına özgü ek ölçümler şunlardır:
-
aspnetcore.components.circuit.active: Şu anda bellekte olan etkin devre sayısını gösterir. -
aspnetcore.components.circuit.connected: İstemcilere bağlı devre sayısını izler. -
aspnetcore.components.circuit.duration: Devre ömrü süresini ölçer ve toplam devre sayısını sağlar.
Blazor İzleme
Aşağıdaki izleme etkinlikleri hakkında daha fazla bilgi için bkz . ASP.NET Core yerleşik ölçümleri.
Yeni etkinlik izleme özellikleri etkinlik kaynağını kullanır Microsoft.AspNetCore.Components ve üç ana izleme etkinliği türü sağlar: devre yaşam döngüsü, gezinti ve olay işleme.
Devre yaşam döngüsü izleme:
Microsoft.AspNetCore.Components.StartCircuit: Circuit {circuitId} formatında devre başlatmasını izler.
Etiketler:
-
aspnetcore.components.circuit.id: Benzersiz devre tanımlayıcısı. -
error.type: Özel durum türü tam adı (isteğe bağlı)
Bağlantılar:
- HTTP izleme
- SignalR izleme
Kullanım: Aynı oturumun/bağlantı hattının diğer Blazor izlemelerini HTTP ve SignalR bağlamlara bağlar.
Navigasyon izleme
Microsoft.AspNetCore.Components.Navigate: yol değişikliklerini Route {route} -> {componentType} formatında izler.
Etiketler:
-
aspnetcore.components.route: Sayfanın URL yolu deseni. -
aspnetcore.components.type: Bileşenin Razor sınıf adı. -
error.type: Özel durum türü tam adı (isteğe bağlı).
Bağlantılar:
- HTTP izleme
- SignalR izleme
- Devre izi
Kullanım: Bu oturum hangi Blazor sayfaları ziyaret etti?
Olay işleme izlemesi:
Microsoft.AspNetCore.Components.HandleEvent: Olay işlemeyi Event {attributeName} -> {componentType}.{methodName} biçiminde izler.
Etiketler:
-
aspnetcore.components.attribute.name: Olayı tetikleyen HTML özniteliğinin adı (örnek:onClick). -
code.function.name: İşleyicinin C# yöntem adı. -
aspnetcore.components.type: Olayı alan hedef C# bileşeninin tam adı. -
error.type: Özel durum türü tam adı (isteğe bağlı).
Bağlantılar:
- Devre izi
- Yol izleme
Kullanım:
- Özel duruma neden olan bileşene ve hangi sayfadan tıklayın?
- Hangi bağlı bağlantı hattında ve hangi HTTP bağlamında gerçekleşti?
ASP.NET Core