Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Opmerking
Dit is niet de nieuwste versie van dit artikel. Zie de .NET 9-versie van dit artikel voor de huidige release.
Waarschuwing
Deze versie van ASP.NET Core wordt niet meer ondersteund. Zie het .NET- en .NET Core-ondersteuningsbeleid voor meer informatie. Zie de .NET 9-versie van dit artikel voor de huidige release.
Belangrijk
Deze informatie heeft betrekking op een pre-releaseproduct dat aanzienlijk kan worden gewijzigd voordat het commercieel wordt uitgebracht. Microsoft geeft geen garanties, uitdrukkelijk of impliciet, met betrekking tot de informatie die hier wordt verstrekt.
Zie de .NET 9-versie van dit artikel voor de huidige release.
Blazor is geoptimaliseerd voor hoge prestaties in de meeste realistische gebruikersinterfacescenario's voor toepassingen. De beste prestaties zijn echter afhankelijk van ontwikkelaars die de juiste patronen en functies gebruiken.
Opmerking
De codevoorbeelden in deze artikelenreeks gebruiken nullable reference types (NRT's) en statische analyse van null-status door de .NET compiler, die worden ondersteund in ASP.NET Core in .NET 6 of hoger.
AOT-compilatie (vooruitcompilatie)
De compilatie van AOT (Ahead-Of-Time) compileert de .NET-code van een Blazor-app rechtstreeks in systeemeigen WebAssembly voor directe uitvoering door de browser. Door AOT gecompileerde apps resulteren in grotere apps die langer duren om te downloaden, maar AOT-gecompileerde apps bieden meestal betere runtimeprestaties, met name voor apps die CPU-intensieve taken uitvoeren. Zie voor meer informatie ASP.NET Core Blazor WebAssembly build tools en ahead-of-time (AOT) compilatie.
Metrische gegevens en tracering
Metrische gegevens en traceringsmogelijkheden helpen u bij het bewaken en diagnosticeren van app-prestaties, het bijhouden van gebruikersinteracties en het begrijpen van het gedrag van onderdelen in productieomgevingen.
Configuratie
Als u metrische gegevens en tracering in uw app wilt inschakelen Blazor , configureert u OpenTelemetry met de volgende meters en activiteitsbronnen in het app-bestand Program waarin services zijn geregistreerd:
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");
});
Prestatiemeters
Zie ASP.NET Ingebouwde metrische kerngegevens voor meer informatie over de volgende prestatiemeters.
Microsoft.AspNetCore.Components meter:
-
aspnetcore.components.navigate: Houdt het totale aantal routewijzigingen in de app bij. -
aspnetcore.components.handle_event.duration: Meet de duur van het verwerken van browserevenementen, inclusief bedrijfslogica.
Microsoft.AspNetCore.Components.Lifecycle meter:
-
aspnetcore.components.update_parameters.duration: Meet de duur van de verwerkingsonderdeelparameters, inclusief bedrijfslogica. -
aspnetcore.components.render_diff.duration: Houdt de duur van renderingbatches bij. -
aspnetcore.components.render_diff.size: houdt de grootte van renderingbatches bij.
Microsoft.AspNetCore.Components.Server.Circuits meter:
Bij server-side apps Blazor omvatten aanvullende metrische gegevens die specifiek zijn voor circuits:
-
aspnetcore.components.circuit.active: Geeft het aantal actieve circuits weer dat momenteel in het geheugen aanwezig is. -
aspnetcore.components.circuit.connected: Houdt het aantal circuits bij dat verbonden is met cliƫnten. -
aspnetcore.components.circuit.duration: Meet de levensduur van het circuit en levert het totale aantal circuits.
Blazor Tracering
Zie ASP.NET Core ingebouwde statistieken voor meer informatie over de volgende traceringsactiviteiten.
De nieuwe mogelijkheden voor het traceren van activiteiten maken gebruik van de Microsoft.AspNetCore.Components activiteitsbron en bieden drie hoofdtypen traceringsactiviteiten: circuitlevenscyclus, navigatie en gebeurtenisafhandeling.
Tracering van levenscyclus van circuit:
Microsoft.AspNetCore.Components.StartCircuit: Traceert circuitinitiatie met het formaat Circuit {circuitId}.
Tags:
-
aspnetcore.components.circuit.id: Unieke circuit-id. -
error.type: Volledige naam van uitzonderingstype (optioneel)
Links:
- HTTP-trace
- SignalR traceer
Gebruik: hiermee koppelt u andere Blazor traceringen van dezelfde sessie/hetzelfde circuit aan HTTP en SignalR contexten.
Navigatietracering:
Microsoft.AspNetCore.Components.Navigate: Houdt routewijzigingen bij met de indeling Route {route} -> {componentType}.
Tags:
-
aspnetcore.components.route: URL-padpatroon van de pagina. -
aspnetcore.components.type: Klassenaam van het Razor onderdeel. -
error.type: Volledige naam van uitzonderingstype (optioneel).
Links:
- HTTP-trace
- SignalR traceer
- Circuittracering
Gebruik: Op welke Blazor pagina's is deze sessie bezocht?
Tracering van gebeurtenisafhandeling:
Microsoft.AspNetCore.Components.HandleEvent: Traceert gebeurtenisafhandeling met de indeling Event {attributeName} -> {componentType}.{methodName}.
Tags:
-
aspnetcore.components.attribute.name: Naam van het HTML-kenmerk dat de gebeurtenis activeert (voorbeeld:onClick). -
code.function.name: C#-methodenaam van de handler. -
aspnetcore.components.type: Volledige naam van het C#-doelonderdeel dat de gebeurtenis ontvangt. -
error.type: Volledige naam van uitzonderingstype (optioneel).
Links:
- Circuittracering
- Routetracering
Gebruik:
- Klik op welk onderdeel een uitzondering heeft veroorzaakt en op welke pagina?
- In welk gekoppeld circuit en met welke HTTP-context is het gebeurd?