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 JSWŁĄCZONE 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 systemie HTTP.sys
Protokół HTTP.sys obsługuje tworzenie kolejek żądań anonimowych. W 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ń 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ść dla witryny SameSite cookie
Zachowanie witryny SameSite cookiezmieniło się, aby odzwierciedlić nadchodzące zmiany przeglądarki. Może to mieć wpływ na scenariusze uwierzytelniania, takie jak AzureAd, OpenId Połączenie lub WsFederation. Aby uzyskać więcej informacji, zobacz Praca z usługą SameSite cookies w usłudze 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).
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla