ブラウザー アプリでの gRPC の使用
Note
これは、この記事の最新バージョンではありません。 現在のリリースについては、この記事の .NET 9 バージョンを参照してください。
警告
このバージョンの ASP.NET Core はサポート対象から除外されました。 詳細については、 .NET および .NET Core サポート ポリシーを参照してください。 現在のリリースについては、この記事の .NET 9 バージョンを参照してください。
重要
この情報はリリース前の製品に関する事項であり、正式版がリリースされるまでに大幅に変更される可能性があります。 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 以降が必要です。
その他のリソース
ASP.NET Core