QQ在線客服

當(dāng)前位置:首頁(yè)> 資訊> 移動(dòng)業(yè)界

微軟正式推出 gRPC-Web for .NET

2020-06-23 14:36 來(lái)源: 站長(zhǎng)資源平臺(tái) 瀏覽(569)人   

今年一月份的時(shí)候,微軟曾宣布對(duì)gRPC-Web for .NET 的實(shí)驗(yàn)性支持,現(xiàn)在它已正式發(fā)布。

gRPC 是谷歌開(kāi)源的高性能、通用 RPC 框架,支持包括 .NET 在內(nèi)的多種編程語(yǔ)言。它面向移動(dòng)和基于 HTTP/2 標(biāo)準(zhǔn)設(shè)計(jì),但當(dāng)前,瀏覽器中無(wú)法實(shí)現(xiàn) gRPC HTTP/2 規(guī)范,因?yàn)闆](méi)有瀏覽器 API 能夠?qū)φ?qǐng)求進(jìn)行足夠的細(xì)粒度控制。gRPC-Web 是解決此問(wèn)題并使 gRPC 在瀏覽器中可用的標(biāo)準(zhǔn)化協(xié)議。

gRPC-Web 即 gRPC for Web Clients。它是一個(gè) JavaScript 庫(kù),使 Web 應(yīng)用程序能夠直接與后端 gRPC 服務(wù)通信,不需要 HTTP 服務(wù)器充當(dāng)中介。它旨在使 gRPC 在更多情況下可用,包括但不限于:

從瀏覽器調(diào)用 ASP.NET Core gRPC 應(yīng)用程序

JavaScript SPAs

.NET Blazor Web Assembly apps

在 IIS 和 Azure App Service 中托管 ASP.NET Core gRPC 應(yīng)用程序

從非 .NET Core 平臺(tái)調(diào)用 gRPC —— 在所有 .NET 平臺(tái)上,HttpClient 均不支持 HTTP/2,而 gRPC-Web 可用于從 Blazor 和 Xamarin 調(diào)用 gRPC 服務(wù)

微軟表示正在與 Blazor 團(tuán)隊(duì)合作,使 gRPC-Web 在 Blazor WebAssembly 應(yīng)用程序中使用時(shí)為端到端開(kāi)發(fā)人員提供更好的體驗(yàn)。

根據(jù)微軟的說(shuō)法,gRPC 與 JSON 相比具有明顯的性能優(yōu)勢(shì)。以 Blazor 的默認(rèn)模板為例,相比 JSON,使用 gRPC 時(shí),在提取數(shù)據(jù)頁(yè)面上傳輸?shù)臄?shù)據(jù)減半,數(shù)據(jù)大小也從 627 字節(jié)減少到 309 字節(jié)。

目前,.NET 版 gRPC-Web 現(xiàn)已在 NuGet 上發(fā)布:

Grpc.AspNetCore.Web——將 gRPC-Web 支持添加到 ASP.NET Core gRPC 服務(wù)

Grpc.Net.Client.Web——從 .NET 調(diào)用 gRPC-Web 端點(diǎn)

有關(guān) gRPC-Web 的更多信息,可查看文檔,或嘗試使用gRPC-Web 的示例應(yīng)用程序。

【版權(quán)與免責(zé)聲明】如發(fā)現(xiàn)內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息發(fā)郵件至 kefu@2898.com ,我們將及時(shí)溝通與處理。 本站內(nèi)容除了2898站長(zhǎng)資源平臺(tái)( www.afrimangol.com )原創(chuàng)外,其它均為網(wǎng)友轉(zhuǎn)載內(nèi)容,涉及言論、版權(quán)與本站無(wú)關(guān)。
投稿

關(guān)注我們

站長(zhǎng)資源平臺(tái)微信公眾號(hào)

微信二維碼