Co nowego w programie ASP.NET Core 3.1
W tym artykule przedstawiono najważniejsze zmiany w programie ASP.NET Core 3.1 z linkami do odpowiedniej dokumentacji.
Częściowa obsługa klas dla Razor składników
Razor składniki są teraz generowane jako klasy częściowe. Kod składnika Razor można napisać przy użyciu pliku za pomocą kodu zdefiniowanego jako klasa częściowa, a nie definiowania całego kodu dla składnika w jednym pliku. Aby uzyskać więcej informacji, zobacz Częściowa obsługa klas.
Pomocnik tagów składników i przekazywanie parametrów do składników najwyższego poziomu
W programie Blazor ASP.NET Core 3.0 składniki były renderowane na stronach i widokach przy użyciu pomocnika HTML (Html.RenderComponentAsync
). W programie ASP.NET Core 3.1 renderuj składnik ze strony lub widoku przy użyciu nowego pomocnika tagów składników:
<component type="typeof(Counter)" render-mode="ServerPrerendered" />
Pomocnik HTML pozostaje obsługiwany w programie ASP.NET Core 3.1, ale zaleca się pomocnik tagów składników.
Blazor Server aplikacje mogą teraz przekazywać parametry do składników najwyższego poziomu podczas początkowego renderowania. Wcześniej można było przekazać parametry tylko do składnika najwyższego poziomu za pomocą elementu RenderMode.Static. W tej wersji obsługiwane są zarówno elementy RenderMode.Server , jak i RenderMode.ServerPrerendered . Wszystkie określone wartości parametrów są serializowane jako JSON i uwzględnione w początkowej odpowiedzi.
Na przykład prerender Counter
składnika o wartości przyrostowej (IncrementAmount
):
<component type="typeof(Counter)" render-mode="ServerPrerendered"
param-IncrementAmount="10" />
Aby uzyskać więcej informacji, zobacz Integrowanie składników ze Razor stronami i aplikacjami MVC.
Obsługa kolejek udostępnionych w HTTP.sys
HTTP.sys obsługuje tworzenie kolejek żądań anonimowych. W programie ASP.NET Core 3.1 dodaliśmy możliwość tworzenia lub dołączania do istniejącej kolejki żądań HTTP.sys. Tworzenie lub dołączanie do istniejącej kolejki żądań o nazwie HTTP.sys umożliwia scenariusze, w których proces kontrolera HTTP.sys, który jest właścicielem kolejki, jest niezależny od procesu odbiornika. Ta niezależność umożliwia zachowanie istniejących połączeń i w kolejce żądań między ponownym uruchomieniem procesu odbiornika:
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
// ...
webBuilder.UseHttpSys(options =>
{
options.RequestQueueName = "MyExistingQueue";
options.RequestQueueMode = RequestQueueMode.CreateOrAttach;
});
});
Zmiany powodujące niezgodność dotyczące plików cookie SameSite
Zachowanie plików cookie SameSite zostało zmienione w celu odzwierciedlenia nadchodzących zmian w przeglądarce. Może to mieć wpływ na scenariusze uwierzytelniania, takie jak AzureAd, OpenIdConnect lub WsFederation. Aby uzyskać więcej informacji, zobacz Praca z plikami cookie SameSite w programie ASP.NET Core.
Zapobieganie domyślnym akcjom dla zdarzeń w Blazor aplikacjach
Użyj atrybutu @on{EVENT}:preventDefault
dyrektywy, aby zapobiec domyślnej akcji zdarzenia. W poniższym przykładzie domyślna akcja wyświetlania znaku klucza w polu tekstowym jest blokowana:
<input value="@_count" @onkeypress="KeyHandler" @onkeypress:preventDefault />
Aby uzyskać więcej informacji, zobacz Zapobieganie akcjam domyślnym.
Zatrzymywanie propagacji zdarzeń w Blazor aplikacjach
Użyj atrybutu dyrektywy, @on{EVENT}:stopPropagation
aby zatrzymać propagację zdarzeń. W poniższym przykładzie zaznaczenie pola wyboru uniemożliwia propagację zdarzeń z elementu podrzędnego <div>
do elementu nadrzędnego <div>
:
<input @bind="_stopPropagation" type="checkbox" />
<div @onclick="OnSelectParentDiv">
<div @onclick="OnSelectChildDiv" @onclick:stopPropagation="_stopPropagation">
...
</div>
</div>
@code {
private bool _stopPropagation = false;
}
Aby uzyskać więcej informacji, zobacz Zatrzymaj propagację zdarzeń.
Szczegółowe błędy podczas Blazor tworzenia aplikacji
Blazor Gdy aplikacja nie działa prawidłowo podczas programowania, otrzymuje szczegółowe informacje o błędzie z aplikacji, pomagając w rozwiązywaniu problemów i rozwiązywaniu problemu. Gdy wystąpi błąd, Blazor aplikacje wyświetlają złoty pasek w dolnej części ekranu:
- Podczas opracowywania złoty pasek kieruje Cię do konsoli przeglądarki, gdzie można zobaczyć wyjątek.
- W środowisku produkcyjnym złoty pasek powiadamia użytkownika o wystąpieniu błędu i zaleca odświeżenie przeglądarki.
Aby uzyskać więcej informacji, zobacz Handle errors in ASP.NET Core apps (Obsługa błędów w aplikacjach platformy ASP.NET CoreBlazor).