ASP.NET Core: gRPC trên nền tảng hỗ trợ .NET


Khóa học qua video:
Lập trình Python All Lập trình C# All SQL Server All Lập trình C All Java PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên

Trong bài viết này

  1. Định dạng dây (wire)
  2. Yêu cầu máy chủ gRPC ASP.NET Core
  3. Yêu cầu của máy khách .NET gRPC
  4. Tài nguyên bổ sung

Bài viết này thảo luận về các yêu cầu và nền tảng được hỗ trợ để sử dụng gRPC với .NET. Có các yêu cầu khác nhau đối với hai khối lượng công việc gRPC chính:

Định dạng dây (wire)

gRPC tận dụng các tính năng nâng cao có sẵn trong HTTP/2. HTTP/2 không được hỗ trợ ở mọi nơi, nhưng định dạng dây thứ hai sử dụng HTTP/1.1 có sẵn cho gRPC:

  • application/grpc- gRPC qua HTTP/2 là cách gRPC thường được sử dụng.
  • application/grpc-web- gRPC-Web sửa đổi giao thức gRPC để tương thích với HTTP/1.1. gRPC-Web có thể được sử dụng ở nhiều nơi hơn. gRPC-Web có thể được sử dụng bởi các ứng dụng trình duyệt và trong mạng mà không cần hỗ trợ đầy đủ cho HTTP/2. Hai tính năng gRPC nâng cao không còn được hỗ trợ: Trình phát máy khách và trình phát hai chiều.

gRPC trên .NET hỗ trợ cả hai định dạng dây. application/grpc được sử dụng theo mặc định. gRPC-Web phải được định cấu hình trên máy khách và máy chủ để có thể gọi gRPC-Web thành công. Để biết thông tin về cách thiết lập gRPC-Web, hãy xem gRPC-Web trong ứng dụng gRPC ASP.NET Core.

Yêu cầu máy chủ gRPC ASP.NET Core

Lưu trữ các dịch vụ gRPC với ASP.NET Core yêu cầu .NET Core 3.x trở lên.

  • .NET 5 trở lên
  • .NET Core 3

Các dịch vụ gRPC của ASP.NET Core có thể được lưu trữ trên tất cả hệ điều hành mà .NET Core hỗ trợ.

  • Windows
  • Linux
  • macOS†

† macOS không hỗ trợ lưu trữ ứng dụng ASP.NET Core với HTTPS.

Máy chủ ASP.NET Core được hỗ trợ

Tất cả các máy chủ ASP.NET Core tích hợp đều được hỗ trợ.

  • Kestrel
  • TestServer
  • IIS†
  • HTTP.sys†

†Yêu cầu .NET 5 và Windows 11 Build 22000 hoặc Windows Server 2022 Build 20348 trở lên.

Để biết thông tin về cách định cấu hình máy chủ ASP.NET Core để chạy gRPC, hãy xem dịch vụ gRPC với ASP.NET Core.

Dịch vụ Azure

†gRPC yêu cầu môi trường dựa trên Linux trên Dịch vụ ứng dụng Azure. Xem Cách triển khai ứng dụng .NET 6 gRPC trên Dịch vụ ứng dụng để biết thông tin triển khai Dịch vụ ứng dụng Azure.

Yêu cầu của máy khách .NET gRPC

Gói Grpc.Net.Client hỗ trợ các lệnh gọi gRPC qua HTTP/2 trên .NET Core 3 và .NET 5 trở lên.

Hỗ trợ hạn chế có sẵn cho gRPC qua HTTP/2 trên .NET Framework. Các phiên bản .NET khác như UWP, Xamarin và Unity không yêu cầu hỗ trợ HTTP/2 và thay vào đó phải sử dụng gRPC-Web.

Bảng sau liệt kê các triển khai .NET và hỗ trợ máy khách gRPC của chúng:

Triển khai .NET gRPC qua HTTP/2 gRPC-Web
.NET 5 trở lên ✔️ ✔️
.NET Core 3 ✔️ ✔️
.NET Core 2.1 ✔️
.NET Framework 4.6.1 ⚠️† ✔️
Blazor WebAssembly ✔️
Đơn sắc 5.4 ✔️
Xamarin.iOS 10.14 ✔️
Xamarin.Android 8.0 ✔️
Nền tảng Windows phổ quát 10.0.16299 ✔️
Đoàn kết 2018.1 ✔️

†.NET Framework yêu cầu cấu hình WinHttpHandler và Windows 11 trở lên, Windows Server 2022 trở lên. Để biết thêm thông tin, hãy xem Thực hiện lời gọi gRPC trên .NET Framework.

Sử dụng Grpc.Net.Client với gRPC-Web yêu cầu cấu hình bổ sung. Để biết thêm thông tin:

Quan trọng

gRPC-Web yêu cầu máy khách  máy chủ hỗ trợ nó. gRPC-Web có thể được cấu hình nhanh chóng bởi máy chủ gRPC ASP.NET Core. Việc triển khai máy chủ gRPC khác yêu cầu proxy để hỗ trợ gRPC-Web.

Tài nguyên bổ sung

Nguồn: learn.microsoft.com
» Tiếp: gRPC-Web trong ứng dụng gRPC ASP.NET Core
« Trước: Dịch vụ gRPC với ASP.NET Core
Khóa học qua video:
Lập trình Python All Lập trình C# All SQL Server All Lập trình C All Java PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên
Copied !!!