Udostępnij za pośrednictwem


Używanie gRPC w aplikacjach przeglądarki

Uwaga

Nie jest to najnowsza wersja tego artykułu. Aby zapoznać się z bieżącą wersją, zapoznaj się z wersją tego artykułu platformy .NET 8.

Ostrzeżenie

Ta wersja ASP.NET Core nie jest już obsługiwana. Aby uzyskać więcej informacji, zobacz .NET i .NET Core Support Policy (Zasady obsługi platformy .NET Core). Aby zapoznać się z bieżącą wersją, zapoznaj się z wersją tego artykułu platformy .NET 8.

Ważne

Te informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany, zanim zostanie wydany komercyjnie. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.

Aby zapoznać się z bieżącą wersją, zapoznaj się z wersją tego artykułu platformy .NET 8.

Autor: James Newton-King

Nie można bezpośrednio wywołać usługi gRPC z przeglądarki. Usługa gRPC używa funkcji HTTP/2, a żadna przeglądarka nie zapewnia poziomu kontroli wymaganej przez żądania internetowe do obsługi klienta gRPC.

gRPC w systemie ASP.NET Core oferuje dwa rozwiązania zgodne z przeglądarką, transkodowanie gRPC-Web i gRPC JSON.

gRPC-Web

gRPC-Web umożliwia aplikacjom przeglądarki wywoływanie usług gRPC za pomocą klienta gRPC-Web i narzędzia Protobuf.

  • Podobnie jak w przypadku normalnego protokołu gRPC, ale ma nieco inny protokół przewodowy, który sprawia, że jest zgodny z protokołem HTTP/1.1 i przeglądarkami.
  • Wymaga, aby aplikacja przeglądarki wygenerowała klienta gRPC na podstawie .proto pliku.
  • Umożliwia aplikacjom przeglądarki korzystanie z wysokiej wydajności i niskiego użycia sieci komunikatów binarnych.

Platforma .NET ma wbudowaną obsługę gRPC-Web. Aby uzyskać więcej informacji, zobacz gRPC-Web in ASP.NET Core gRPC apps (Aplikacje gRPC core).

Transkodowanie kodu JSON gRPC

Transkodowanie gRPC JSON umożliwia aplikacjom przeglądarki wywoływanie usług gRPC tak, jakby były to interfejsy API RESTful z formatem JSON.

  • Aplikacja przeglądarki nie musi generować klienta gRPC ani nic wiedzieć o gRPC.
  • Interfejsy API RESTful są tworzone automatycznie na podstawie usług gRPC przez dodawanie adnotacji do .proto pliku za pomocą metadanych HTTP.
  • Umożliwia aplikacji obsługę zarówno internetowych interfejsów API gRPC, jak i JSON bez duplikowania nakładu pracy nad tworzeniem oddzielnych usług dla obu tych usług.

Platforma .NET ma wbudowaną obsługę tworzenia internetowych interfejsów API JSON z usług gRPC. Aby uzyskać więcej informacji, zobacz transkodowanie gRPC JSON w aplikacjach gRPC platformy ASP.NET Core.

Uwaga

Transkodowanie gRPC JSON wymaga platformy .NET 7 lub nowszej.

Dodatkowe zasoby