|
|
Dipaparkan pada 2025-8-17 17:42:11
|
|
|
|

Persyaratan: Saat menggunakan klien untuk meneruskan metadata, bagaimana server ASP.NET Core harus mendapatkannya?
Gambaran umum metadata
Metadata adalah saluran bypass yang memungkinkan informasi yang terkait dengan RPC diteruskan antara klien dan server.
Metadata gRPC adalah data pasangan nilai kunci yang dikirim dengan permintaan atau respons gRPC awal atau akhir. Ini digunakan untuk memberikan informasi tambahan tentang panggilan, seperti kredensial autentikasi, informasi pelacakan, atau header kustom.
Metadata gRPC diimplementasikan menggunakan header HTTP/2. Kuncinya adalah string ASCII, dan nilainya dapat berupa string ASCII atau data biner. Kunci tidak peka huruf besar/kecil dan tidak dapat dimulai dengan awalan grpc-, yang dicadangkan oleh gRPC itu sendiri.
Metadata gRPC dapat dikirim dan diterima oleh klien dan server. Header dikirim sebelum data permintaan awal dikirim dari klien ke server, dan demikian pula, sebelum data respons awal dikirim dari server ke klien. Ekor dikirim saat server mematikan RPC.
Metadata gRPC melayani berbagai tujuan, seperti:
Autentikasi: metadata gRPC dapat digunakan untuk mengirim kredensial autentikasi ke server. Ini dapat digunakan untuk mengimplementasikan skema autentikasi yang berbeda seperti OAuth2 atau JWT menggunakan header Otorisasi HTTP standar. Pelacakan: metadata gRPC dapat digunakan untuk mengirim informasi pelacakan ke server. Ini dapat digunakan untuk melacak kemajuan permintaan dalam sistem terdistribusi. Header kustom: metadata gRPC dapat digunakan untuk mengirim header kustom ke atau dari server ke klien. Ini dapat digunakan untuk mengimplementasikan fitur khusus aplikasi seperti penyeimbangan beban, pembatasan kecepatan, atau memberikan informasi kesalahan terperinci dari server ke klien. Penggunaan internal: gRPC menggunakan header dan ekor HTTP/2, yang akan diintegrasikan dengan metadata yang ditentukan oleh aplikasi Anda.
Ujian
Buat alur middleware baru di sisi server untuk mendapatkan header permintaan, dan kodenya adalah sebagai berikut:
Coba buat permintaan menggunakan tukang pos seperti yang ditunjukkan di bawah ini:
Anda dapat melihat bahwa nilai metadata yang ditetapkan menggunakan postman dapat diterima secara normal di sisi server.
Gunakan konsol C# untuk menyiapkan Metadata untuk mengirim permintaan, kodenya adalah sebagai berikut:
Seperti yang ditunjukkan di bawah ini:
Mengatur nilai metadata menggunakan kode C# juga dapat diterima di sisi server. Jika Anda menggunakan pabrik klien gRPC untuk menambahkan secara global, kodenya adalah sebagai berikut:
Referensi:
Login hyperlink terlihat.
Login hyperlink terlihat. |
Mantan:Menggunakan Postman untuk menguji (men-debug) layanan gRPCDepan:Mekanisme konsensus blockchain: PoW, PoS, DPoS
|