Menggunakan gRPC di aplikasi browser
Catatan
Ini bukan versi terbaru dari artikel ini. Untuk rilis saat ini, lihat versi .NET 8 dari artikel ini.
Peringatan
Versi ASP.NET Core ini tidak lagi didukung. Untuk informasi selengkapnya, lihat Kebijakan Dukungan .NET dan .NET Core. Untuk rilis saat ini, lihat versi .NET 8 dari artikel ini.
Penting
Informasi ini berkaitan dengan produk pra-rilis yang mungkin dimodifikasi secara substansial sebelum dirilis secara komersial. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Untuk rilis saat ini, lihat versi .NET 8 dari artikel ini.
Oleh James Newton-King
Tidak dimungkinkan untuk langsung memanggil layanan gRPC dari browser. gRPC menggunakan fitur HTTP/2, dan tidak ada browser yang menyediakan tingkat kontrol yang diperlukan atas permintaan web untuk mendukung klien gRPC.
gRPC di ASP.NET Core menawarkan dua solusi yang kompatibel dengan browser, gRPC-Web dan transcoding JSON gRPC.
gRPC-Web
gRPC-Web memungkinkan aplikasi browser untuk memanggil layanan gRPC dengan klien gRPC-Web dan Protobuf.
- Mirip dengan gRPC normal, tetapi memiliki protokol kawat yang sedikit berbeda, yang membuatnya kompatibel dengan HTTP/1.1 dan browser.
- Memerlukan aplikasi browser untuk menghasilkan klien gRPC dari
.proto
file. - Memungkinkan aplikasi browser mendapatkan manfaat dari penggunaan jaringan berkinerja tinggi dan rendah dari pesan biner.
.NET memiliki dukungan bawaan untuk gRPC-Web. Untuk informasi selengkapnya, lihat gRPC-Web di aplikasi gRPC ASP.NET Core.
Transcoding JSON gRPC
Transcoding JSON gRPC memungkinkan aplikasi browser untuk memanggil layanan gRPC seolah-olah mereka ADALAH API RESTful dengan JSON.
- Aplikasi browser tidak perlu menghasilkan klien gRPC atau tahu apa pun tentang gRPC.
- API RESTful secara otomatis dibuat dari layanan gRPC dengan menganotasi
.proto
file dengan metadata HTTP. - Memungkinkan aplikasi untuk mendukung API web gRPC dan JSON tanpa menduplikasi upaya membangun layanan terpisah untuk keduanya.
.NET memiliki dukungan bawaan untuk membuat API web JSON dari layanan gRPC. Untuk informasi selengkapnya, lihat transcoding GRPC JSON di aplikasi gRPC ASP.NET Core.
Catatan
Transcoding JSON gRPC memerlukan .NET 7 atau yang lebih baru.
Sumber Daya Tambahan:
ASP.NET Core