Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Varning
Den här versionen av ASP.NET Core stöds inte längre. Mer information finns i supportpolicyn för .NET och .NET Core. För den nuvarande utgåvan, se .NET 9-versionen av den här artikeln .
Viktigt!
Den här informationen gäller en förhandsversionsprodukt som kan ändras avsevärt innan den släpps kommersiellt. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, med avseende på den information som tillhandahålls här.
För den nuvarande utgåvan, se .NET 9-versionen av den här artikeln .
Blazor är optimerad för höga prestanda i de flesta realistiska programgränssnittsscenarier. Den bästa prestandan beror dock på att utvecklare använder rätt mönster och funktioner.
Anmärkning
Kodexemplen i den här noden med artiklar använder nullbara referenstyper (NRT) och .NET-kompilator för statisk analys av null-tillstånd, som stöds i ASP.NET Core i .NET 6 eller senare.
AOT-kompilering (förhandskompilering)
AOT-kompilering i förväg kompilerar en Blazor-appens .NET-kod direkt till den interna WebAssembly för direktkörning av webbläsaren. AOT-kompilerade appar resulterar i större appar som tar längre tid att ladda ned, men AOT-kompilerade appar ger vanligtvis bättre körningsprestanda, särskilt för appar som kör processorintensiva uppgifter. Mer information finns i ASP.NET Core Blazor WebAssembly byggverktyg och ahead-of-time (AOT) kompilering.
Mått och spårning
Med mått och spårningsfunktioner kan du övervaka och diagnostisera appens prestanda, spåra användarinteraktioner och förstå komponentbeteendet i produktionsmiljöer.
Konfiguration
Om du vill aktivera Blazor mått och spårning i din app konfigurerar du OpenTelemetry med följande mätare och aktivitetskällor i appens Program fil där tjänster registreras:
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");
});
Prestandamätare
Mer information om följande prestandamätare finns i ASP.NET inbyggda kärnmått.
Microsoft.AspNetCore.Components meter:
-
aspnetcore.components.navigate: Spårar det totala antalet vägändringar i appen. -
aspnetcore.components.handle_event.duration: Mäter varaktigheten för bearbetning av webbläsarhändelser, inklusive affärslogik.
Microsoft.AspNetCore.Components.Lifecycle meter:
-
aspnetcore.components.update_parameters.duration: Mäter varaktigheten för bearbetning av komponentparametrar, inklusive affärslogik. -
aspnetcore.components.render_diff.duration: Spårar varaktigheten för återgivningsbatcherna. -
aspnetcore.components.render_diff.size: Spårar storleken på renderingsbatcherna.
Microsoft.AspNetCore.Components.Server.Circuits meter:
I serverapplikationer Blazor ingår ytterligare kretsspecifika mått:
-
aspnetcore.components.circuit.active: Visar antalet aktiva kretsar som för närvarande finns i minnet. -
aspnetcore.components.circuit.connected: Spårar antalet kretsar som är anslutna till klienter. -
aspnetcore.components.circuit.duration: Mäter livslängden för kretsen och ger totalt antal kretsar.
Blazor Spårning
Mer information om följande spårningsaktiviteter finns i ASP.NET inbyggda kärnmått.
De nya funktionerna för aktivitetsspårning använder aktivitetskällan Microsoft.AspNetCore.Components och tillhandahåller tre huvudsakliga typer av spårningsaktiviteter: kretslivscykel, navigering och händelsehantering.
Spårning av kretsens livscykel:
Microsoft.AspNetCore.Components.StartCircuit: Övervakar initiering av krets med formatet Circuit {circuitId}.
Taggar:
-
aspnetcore.components.circuit.id: Unik kretsidentifierare. -
error.type: Fullständigt namn på undantagstyp (valfritt)
Länkar:
- HTTP-spårning
- SignalR spåra
Användning: Länkar andra Blazor spårningar av samma session/krets till HTTP och SignalR kontexter.
Navigeringsspårning:
Microsoft.AspNetCore.Components.Navigate: Spårar ruttförändringar med formatet Route {route} -> {componentType}.
Taggar:
-
aspnetcore.components.route: Url-sökvägsmönster för sidan. -
aspnetcore.components.type: Komponentens Razor klassnamn. -
error.type: Fullständigt namn på undantagstyp (valfritt).
Länkar:
- HTTP-spårning
- SignalR spåra
- Kretsspårning
Användning: Vilka Blazor sidor den här sessionen besökte?
Spårning av händelsehantering:
Microsoft.AspNetCore.Components.HandleEvent: Spårar händelsehantering med formatet Event {attributeName} -> {componentType}.{methodName}.
Taggar:
-
aspnetcore.components.attribute.name: Namnet på HTML-attributet som utlöser händelsen (exempel:onClick). -
code.function.name: C#-metodnamnet för hanteraren. -
aspnetcore.components.type: Fullständigt namn på C#-målkomponenten som tar emot händelsen. -
error.type: Fullständigt namn på undantagstyp (valfritt).
Länkar:
- Kretsspårning
- Vägspårning
Användningsområden:
- Klicka på vilken komponent som orsakade undantaget och på vilken sida?
- I vilken länkad krets och med vilken HTTP-kontext hände det?
ASP.NET Core