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

眺める: 54622|答える: 0

[出典] .NET CoreはgRPC HTTP(非TLS保護)アドレスエラーソリューションを呼び出します

[リンクをコピー]
2021年3月22日 16:45:16に投稿 | | | |
gRPCは言語に依存しない高性能なリモートプロシージャコール(RPC)フレームワークです。

gRPCの主な利点は以下の通りです:

現代的で高性能、軽量なRPCフレームワーク。
契約優先のAPI開発で、デフォルトでプロトコルバッファを使用し、言語に依存しない実装を可能にします。
強型サーバーやクライアントを生成するための複数言語のツール。
クライアント、サーバー、双方向ストリーミング通話をサポートします。
Protobufバイナリシリアライズによるネットワーク利用を減らしましょう。

これらの利点により、gRPCは以下の用途に適しています:

効率が重要な軽量マイクロサービス。
開発に複数の言語を必要とする多言語システム。
ストリーミングリクエストやレスポンスを処理する必要があるピアツーピアのリアルタイムサービス。

復習:
実戦:ASP.NET コアはgRPC通信を使用しています
https://www.itsvse.com/thread-8834-1-1.html

.net/c# Googleプロトコルバッファをクイックスタート
https://www.itsvse.com/thread-3626-1-1.html

.net/c# Googleプロトコルバッファチュートリアル
https://www.itsvse.com/thread-3668-1-1.html

ASP.NET Core 3.1を使用する場合、gRPCサービスが有効化され、HTTP/2エンドポイントはTLS保護なしで設定されています。詳細は以下の通りです:ハイパーリンクのログインが見えます。

.NET Core 3.1コンソールを使ってHTTPのgRPCサービスアドレスを呼び出そうとしましたが、以下のエラーが出ました。


未処理例外。 Grpc.Core.RpcException: Status(StatusCode="Unavailable", Detail="Error starting gRPC call. HttpRequestException:リクエストを送信中にエラーが発生しました。 IOException: 応答が早期終了しました。」、DebugException="System.Net.Http.RequestException: リクエスト送信中にエラーが発生しました。
---> System.IO.IOException:対応は早期に終了しました。



アプリが使っている.NETのバージョンによっては、安全でないgRPCサービスを呼び出すための追加要件があります:

.NET 5以降はGrpc.Net.Clientバージョン2.32.0以降が必要です。
.NET Core 3.xは追加の設定が必要です。 アプリはSystem.Net.Http.SocketsHttpHandler.Http2UnencryptedSupportスイッチをtrueに設定しなければなりません:


クライアントの設定は以下の通りです:

.NET Core 3.xのみがSystem.Net.Http.SocketsHttpHandler.Http2UnencryptedSupportスイッチを必要とします。.NET 5では追加の設定は不要であり、この要件も同様です


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





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

Mail To:help@itsvse.com