次の方法で共有


ブラウザー アプリでの gRPC の使用

Note

これは、この記事の最新バージョンではありません。 現在のリリースについては、この記事の .NET 9 バージョンを参照してください。

警告

このバージョンの ASP.NET Core はサポート対象から除外されました。 詳細については、「.NET および .NET Core サポート ポリシー」を参照してください。 現在のリリースについては、この記事の .NET 8 バージョンを参照してください。

重要

この情報はリリース前の製品に関する事項であり、正式版がリリースされるまでに大幅に変更される可能性があります。 Microsoft はここに示されている情報について、明示か黙示かを問わず、一切保証しません。

現在のリリースについては、この記事の .NET 9 バージョンを参照してください。

作成者: James Newton-King

ブラウザーから gRPC サービスを直接呼び出すことはできません。 gRPC では HTTP/2 の機能が使用され、gRPC クライアントをサポートするために Web 要求を通して必要とされるレベルの制御を提供するブラウザーがありません。

ASP.NET Core 上の gRPC には、gRPC-Web と gRPC JSON コード変換の 2 つのブラウザー互換ソリューションが用意されています。

gRPC-Web

gRPC-Web を使うと、gRPC-Web クライアントと Protobuf を使用してブラウザー アプリで gRPC サービスを呼び出すことができます。

  • 通常の gRPC と同様ですが、ワイヤプロトコルが若干異なっており、HTTP/1.1 やブラウザーと互換性があります。
  • ブラウザー アプリで .proto ファイルから gRPC クライアントを生成することが要求されます。
  • ブラウザー アプリで、バイナリ メッセージの高パフォーマンスで低ネットワークの使用を活用できます。

.NET には、gRPC-Web のサポートが組み込まれています。 詳細については、「ASP.NET Core gRPC アプリでの gRPC-Web」参照してください。

gRPC JSON コード変換

gRPC JSON コード変換を使用すると、JSON と RESTful API のように、ブラウザー アプリで gRPC サービスを呼び出すことができます。

  • ブラウザー アプリで gRPC クライアントを生成する必要はありません。gRPC について知る必要もありません。
  • RESTful API は、HTTP メタデータを使用して .proto ファイルに注釈を付けることによって、gRPC サービスから自動的に作成されます。
  • アプリで gRPC と JSON の両方の Web API をサポートできるため、両方に個別のサービスを構築する手間を省くことができます。

.NET には、gRPC サービスから JSON Web API を作成するためのサポートが組み込まれています。 詳細については、「ASP.NET Core gRPC アプリでの gRPC JSON コード変換」をご覧ください。

Note

gRPC JSON コード変換には .NET 7 以降が必要です。

その他のリソース