Używanie gRPC w aplikacjach przeglądarki
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ą, gRPC-Web i gRPC JSON transkodowania.
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 gRPC JSON
Transkodowanie gRPC JSON umożliwia aplikacjom przeglądarki wywoływanie usług gRPC tak, jakby były RESTto pełne interfejsy API z włączonym JS.
- Aplikacja przeglądarki nie musi generować klienta gRPC ani nic wiedzieć o gRPC.
- RESTInterfejsy API ful 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 interfejsów gRPC, jak i JSON internetowych interfejsów API bez duplikowania nakładu pracy nad tworzeniem oddzielnych usług dla obu tych usług.
Platforma .NET ma wbudowaną obsługę tworzenia JSinternetowych interfejsów API ON 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
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla