co je nového v ASP.NET Core 3,1

tento článek popisuje nejvýznamnější změny v ASP.NET Core 3,1 s odkazy na příslušnou dokumentaci.

Podpora částečné třídy pro Razor součásti

Razor komponenty se nyní generují jako částečné třídy. Kód pro Razor komponentu lze zapsat pomocí souboru kódu na pozadí definovaného jako dílčí třídy namísto definice veškerého kódu pro komponentu v jednom souboru. Další informace naleznete v tématu Podpora částečné třídy.

Blazor Pomocná komponenta značek komponenty a předání parametrů komponentám nejvyšší úrovně

v Blazor with ASP.NET Core 3,0 byly komponenty vykresleny do stránek a zobrazení pomocí pomocníka jazyka HTML ( Html.RenderComponentAsync ). v ASP.NET Core 3,1 vykreslete komponentu ze stránky nebo zobrazení pomocí nového pomocníka značky komponenty:

<component type="typeof(Counter)" render-mode="ServerPrerendered" />

pomocník HTML zůstane v ASP.NET Core 3,1 podporován, ale doporučuje se pomocník značek komponent.

Blazor Server aplikace teď můžou předat parametry na nejvyšší úrovni během počátečního vykreslování. Dříve jste mohli předat parametry do komponenty nejvyšší úrovně pomocí RenderMode. static. V této verzi jsou podporovány obě RenderMode. Server i RenderMode. ServerPrerendered . Všechny zadané hodnoty parametrů jsou serializovány jako JSON a zahrnuty do počáteční odezvy.

Například fáze PreRender Counter komponentu s přírůstnou velikostí ( IncrementAmount ):

<component type="typeof(Counter)" render-mode="ServerPrerendered" 
    param-IncrementAmount="10" />

Další informace najdete v tématu integrace součástí do Razor stránek a aplikací MVC.

Podpora sdílených front v HTTP.sys

HTTP.sys podporuje vytváření anonymních front požadavků. v ASP.NET Core 3,1 jsme přidali možnost vytvořit nebo připojit se k existujícímu pojmenovanému frontě HTTP.sys požadavků. Vytvoření nebo připojení k existující pojmenované frontě žádostí HTTP.sys umožňuje scénáře, ve kterých je proces řadiče HTTP.sys, který vlastní frontu, nezávisle na procesu naslouchacího procesu. Díky této nezávislosti je možné zachovat stávající připojení a zařadit do fronty požadavky mezi restarty procesu naslouchacího procesu:

public static IHostBuilder CreateHostBuilder(string[] args) =>
     Host.CreateDefaultBuilder(args)
        .ConfigureWebHostDefaults(webBuilder =>
        {
            // ...
            webBuilder.UseHttpSys(options =>
            {
                options.RequestQueueName = "MyExistingQueue";
                options.RequestQueueMode = RequestQueueMode.CreateOrAttach;
            });
        });

Průlomové změny pro SameSite cookie s

Chování SameSite s se cookie změnilo tak, aby odráželo nadcházející změny prohlížeče. To může mít vliv na scénáře ověřování, jako je AzureAd, OpenIdConnect nebo WsFederation. Další informace naleznete v tématu Práce s weby SameSite cookie v ASP.NET Core.

Zakázat výchozí akce pro události v Blazor aplikacích

@on{EVENT}:preventDefaultChcete-li zabránit výchozí akci pro událost, použijte atribut direktiva. V následujícím příkladu je znemožněna výchozí akce zobrazení znaku klíče v textovém poli:

<input value="@_count" @onkeypress="KeyHandler" @onkeypress:preventDefault />

Další informace najdete v tématu prevence výchozích akcí.

Zastavit šíření událostí v Blazor aplikacích

@on{EVENT}:stopPropagationPro zastavení šíření události použijte atribut direktiva. V následujícím příkladu zaškrtnutím políčka zabráníte kliknutí na události z podřízeného <div> objektu na nadřazenou položku <div> :

<input @bind="_stopPropagation" type="checkbox" />

<div @onclick="OnSelectParentDiv">
    <div @onclick="OnSelectChildDiv" @onclick:stopPropagation="_stopPropagation">
        ...
    </div>
</div>

@code {
    private bool _stopPropagation = false;
}

Další informace najdete v tématu zastavení šíření událostí.

Podrobné chyby při Blazor vývoji aplikací

Když Blazor aplikace nefunguje správně během vývoje, při řešení potíží a řešení těchto potíží získá podrobné informace o chybě z aplikace. Když dojde k chybě, Blazor aplikace zobrazí v dolní části obrazovky žlutý pruh:

  • Během vývoje se zlatý panel vás přesměruje na konzolu prohlížeče, kde vidíte výjimku.
  • V produkčním okně upozorňuje uživatel, že došlo k chybě, a doporučuje aktualizovat prohlížeč.

Další informace naleznete v tématu zpracování chyb v Blazor aplikacích ASP.NET Core.