Использование gRPC в приложениях на основе браузера
Автор: Джеймс Ньютон-Кинг (James Newton-King)
Службу gRPC нельзя вызвать напрямую из браузера. gRPC использует функции HTTP/2, и ни один браузер не предоставляет необходимый уровень контроля над веб-запросами для поддержки клиента gRPC.
gRPC в ASP.NET Core предлагает два решения, совместимые с браузером: gRPC-Web и перекодирование gRPC JSON.
gRPC-Web
gRPC-Web позволяет браузерным приложениям вызывать службы gRPC с помощью клиента gRPC-Web и Protobuf.
- Это похоже на обычный gRPC, но используется немного другой протокол, что обеспечивает совместимость с HTTP/1.1 и браузерами.
- Браузерное приложение должно создать клиент gRPC из файла
.proto
. - Позволяет приложениям, использующим браузер, реализовывать преимущества двоичных сообщений, а именно высокую производительность и низкий уровень использования сети.
.NET имеет встроенную поддержку gRPC-Web. Дополнительные сведения см. в статье gRPC-Web в приложениях ASP.NET Core gRPC.
Перекодирование gRPC JSON
Перекодирование gRPC JSON позволяет браузерным приложениям вызывать службы gRPC, как обычные RESTful API с поддержкой формата JSON.
- Браузерному приложению не нужно создавать клиент gRPC и не нужно ничего знать о gRPC.
- RESTful API можно создавать автоматически из служб gRPC, добавляя к файлу
.proto
метаданные HTTP. - Это позволяет приложению параллельно поддерживать веб-API gRPC и JSON, не дублируя действия по созданию отдельных служб для разных типов интерфейсов.
В .NET предусмотрена встроенная поддержка для создания веб-API JSON из служб gRPC. Дополнительные сведения см. в статье Перекодирование gRPC JSON в приложениях ASP.NET Core gRPC.
Примечание.
Для перекодирования gRPC JSON требуется .NET 7 или более поздней версии.
Дополнительные ресурсы
ASP.NET Core
Кері байланыс
https://aka.ms/ContentUserFeedback.
Жақында қолжетімді болады: 2024 жыл бойы біз GitHub Issues жүйесін мазмұнға арналған кері байланыс механизмі ретінде біртіндеп қолданыстан шығарамыз және оны жаңа кері байланыс жүйесімен ауыстырамыз. Қосымша ақпаратты мұнда қараңыз:Жіберу және пікірді көру