Nguon: Microsoft Learn · .NET 8.0

Các nền tảng được hỗ trợ cho gRPC trên .NET

Nguồn: gRPC on .NET supported platforms

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 cho hai khối lượng công việc gRPC chính:

Wire-formats (định dạng truyền tải)

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 có một định dạng truyền tải thứ hai sử dụng HTTP/1.1 dành cho gRPC:

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

Yêu cầu gRPC server ASP.NET Core

Hosting gRPC services với ASP.NET Core yêu cầu .NET Core 3.x trở lên.

ASP.NET Core gRPC services có thể được hosted trên tất cả các hệ điều hành mà .NET hỗ trợ.

Đối với ASP.NET Core 8.0:

Các ASP.NET Core server được hỗ trợ

Tất cả các ASP.NET Core server tích hợp sẵn đều được hỗ trợ.

†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 cấu hình ASP.NET Core servers để chạy gRPC, xem gRPC services với ASP.NET Core.

Azure services

†gRPC yêu cầu môi trường dựa trên Linux trên Azure App Service. Xem How-to deploy a .NET 6 gRPC app on App Service để biết thông tin triển khai Azure App Service.

Yêu cầu .NET gRPC client

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

Hỗ trợ hạn chế cho gRPC qua HTTP/2 trên .NET Framework. Các phiên bản .NET khác như UWP và Unity không có hỗ trợ HTTP/2 bắt buộc và phải sử dụng gRPC-Web thay thế.

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

Triển khai .NETgRPC qua HTTP/2gRPC-Web
.NET 5 trở lên✔️✔️
.NET Core 3✔️✔️
.NET Core 2.1✔️
.NET Framework 4.6.1⚠️†✔️
Blazor WebAssembly✔️
Mono 5.4✔️
Universal Windows Platform 10.0.16299✔️
Unity 2018.1✔️

†.NET Framework yêu cầu cấu hình WinHttpHandler và Windows 11 trở lên, Windows Server 2019 trở lên. Để biết thêm thông tin, xem Make gRPC calls on .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 cả client lẫn server phải hỗ trợ nó. gRPC-Web có thể được cấu hình nhanh chóng bởi ASP.NET Core gRPC server. Các triển khai gRPC server khác yêu cầu proxy để hỗ trợ gRPC-Web.