この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 522|答える: 0

[出典] ASP.NET Core (31) がgRPCメタデータ取得について

[リンクをコピー]
2025年8月17日 17:42:11に投稿 | | | |
要件:クライアントでメタデータを渡す際、ASP.NET Coreサーバーはどのようにメタデータを取得しるべきか?

メタデータ概要

メタデータは、RPCに関連する情報をクライアントとサーバー間で渡すことを可能にするバイパスチャネルです。

gRPCメタデータは、初回または最終のgRPCリクエストまたはレスポンスで送信されるキーと値のペアデータです。 認証情報、追跡情報、カスタムヘッダーなど、通話に関する追加情報を提供するために使用されます。

gRPCメタデータはHTTP/2ヘッダーを用いて実装されています。 キーはASCII文字列で、値はASCII文字列またはバイナリデータのいずれかである場合があります。 キーは大文字大文字に区別されておらず、grpc-プレフィックスで始まることはできません。grpc-はgRPC自体が予約しています。

gRPCメタデータはクライアントとサーバーの両方で送受信が可能です。 ヘッダーはクライアントからサーバーへの初期リクエストデータ送信前に送信され、同様にサーバーからクライアントへの初期応答データ送信前に送信されます。 サーバーがRPCをオフにすると尾部が送信されます。

gRPCメタデータは以下のような様々な目的で利用されています:

認証:gRPCメタデータを使ってサーバーへの認証情報を送信できます。 これにより、標準的なHTTP認可ヘッダーを用いたOAuth2やJWTなどの異なる認証方式を実装することができます。
追跡:gRPCメタデータを使って追跡情報をサーバーに送信できます。 これは分散システムにおけるリクエストの進行状況を追跡するために使えます。
カスタムヘッダー:gRPCメタデータはサーバーからクライアントへのカスタムヘッダー送信に利用できます。 これは、ロードバランシング、レート制限、サーバーからクライアントへの詳細なエラー情報提供など、アプリケーション固有の機能を実装するために使用できます。
内部用途:gRPCはHTTP/2ヘッダーとテールを使用し、アプリケーションが指定したメタデータと統合されます。

試験

サーバー側で新しいミドルウェアパイプラインを作成してリクエストヘッダーを取得し、コードは以下の通りです:



以下のように郵便配達員を使ってリクエストを出してみてください:



Postmanを使ったメタデータセットの値はサーバー側で通常通り受信できることがわかります。

C#コンソールを使ってメタデータを設定してリクエストを送信します。コードは以下の通りです:
以下に示すように:



C#コードを使ってメタデータの値を設定することもサーバー側で受信可能です。 gRPCクライアントファクトリーを使ってグローバルに追加する場合、コードは以下の通りです:

参考:

ハイパーリンクのログインが見えます。
ハイパーリンクのログインが見えます。




先の:Postmanを使ってgRPCサービスをテスト(デバッグ)します
次に:ブロックチェーン合意メカニズム:PoW、PoS、DPoS(ポイント・フォー・スー・フォー・ス)
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com