Bagikan melalui


Apa yang baru dalam ASP.NET Core 3.1

Artikel ini menyoroti perubahan paling signifikan dalam ASP.NET Core 3.1 dengan tautan ke dokumentasi yang relevan.

Dukungan kelas parsial untuk Razor komponen

Razor komponen sekarang dihasilkan sebagai kelas parsial. Kode untuk Razor komponen dapat ditulis menggunakan file code-behind yang didefinisikan sebagai kelas parsial daripada menentukan semua kode untuk komponen dalam satu file. Untuk informasi selengkapnya, lihat Dukungan kelas parsial.

Bantuan Tag Komponen dan teruskan parameter ke komponen tingkat atas

Dengan Blazor ASP.NET Core 3.0, komponen dirender ke dalam halaman dan tampilan menggunakan Pembantu HTML (Html.RenderComponentAsync). Di ASP.NET Core 3.1, render komponen dari halaman atau tampilan dengan Pembantu Tag Komponen baru:

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

Pembantu HTML tetap didukung di ASP.NET Core 3.1, tetapi Pembantu Tag Komponen disarankan.

Blazor Server aplikasi sekarang dapat meneruskan parameter ke komponen tingkat atas selama render awal. Sebelumnya Anda hanya dapat meneruskan parameter ke komponen tingkat atas dengan RenderMode.Static. Dengan rilis ini, RenderMode.Server dan RenderMode.ServerPrerendered didukung. Nilai parameter yang ditentukan diserialisasikan sebagai JSON dan disertakan dalam respons awal.

Misalnya, prarender Counter komponen dengan jumlah kenaikan (IncrementAmount):

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

Untuk informasi selengkapnya, lihat Mengintegrasikan komponen ke dalam Razor Halaman dan aplikasi MVC.

Dukungan untuk antrean bersama di HTTP.sys

HTTP.sys mendukung pembuatan antrean permintaan anonim. Dalam ASP.NET Core 3.1, kami telah menambahkan kemampuan untuk membuat atau melampirkan ke antrean permintaan HTTP.sys bernama yang sudah ada. Membuat atau melampirkan ke antrean permintaan HTTP.sys bernama yang sudah ada memungkinkan skenario di mana proses pengontrol HTTP.sys yang memiliki antrean tidak bergantung pada proses pendengar. Kemandirian ini memungkinkan untuk mempertahankan koneksi yang ada dan permintaan antrean antara proses pendengar dimulai ulang:

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

Melanggar perubahan untuk cookie SameSite

Perilaku cookie SameSite telah berubah untuk mencerminkan perubahan browser yang akan datang. Ini dapat memengaruhi skenario autentikasi seperti AzureAd, OpenIdConnect, atau WsFederation. Untuk informasi selengkapnya, lihat Bekerja dengan cookie SameSite di ASP.NET Core.

Mencegah tindakan default untuk peristiwa di Blazor aplikasi

Gunakan atribut direktif @on{EVENT}:preventDefault untuk mencegah tindakan default untuk suatu peristiwa. Dalam contoh berikut, tindakan default menampilkan karakter kunci dalam kotak teks dicegah:

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

Untuk informasi selengkapnya, lihat Mencegah tindakan default.

Menghentikan penyebaran peristiwa di Blazor aplikasi

Gunakan atribut direktif @on{EVENT}:stopPropagation untuk menghentikan penyebaran peristiwa. Dalam contoh berikut, memilih kotak centang mencegah peristiwa klik dari anak <div> menyebar ke induk <div>:

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

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

@code {
    private bool _stopPropagation = false;
}

Untuk informasi selengkapnya, lihat Menghentikan penyebaran peristiwa.

Kesalahan terperinci selama Blazor pengembangan aplikasi

Blazor Saat aplikasi tidak berfungsi dengan baik selama pengembangan, menerima informasi kesalahan terperinci dari aplikasi membantu pemecahan masalah dan memperbaiki masalah. Saat terjadi kesalahan, Blazor aplikasi menampilkan bilah emas di bagian bawah layar:

  • Selama pengembangan, emas batangan mengarahkan Anda ke konsol browser, di mana Anda dapat melihat pengecualian.
  • Dalam produksi, bilah emas memberi tahu pengguna bahwa kesalahan telah terjadi dan merekomendasikan penyegaran browser.

Untuk informasi selengkapnya, lihat Menangani kesalahan di aplikasi ASP.NET CoreBlazor.