Bagikan melalui


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: