GRPC-Web for.NET现已推出

2020-06-17 07:56:32

GRPC-Web for.NET现在正式发布。我们在1月份宣布了试验性支持,从那时起,我们一直在根据早期采用者的反馈进行改进。

有了这个版本,GRPC-Web将升级到GRPC-DotNet项目的一个完全受支持的组件,并且已经准备好投入生产。现在将GRPC与GRPC-Web和.NET一起在浏览器中使用。

刚接触GRPC的开发人员应该查看在ASP.NET Core中创建GRPC客户端和服务器。本教程介绍如何使用.NET创建您的第一个GRPC客户机和服务器。

如果您已经有了GRPC应用程序,那么在浏览器应用程序中使用GRPC这篇文章展示了如何将GRPC-Web添加到.NET GRPC服务器。

GRPC是一种现代高性能RPC(远程过程调用)框架。GRPC基于HTTP/2、协议缓冲区和其他现代基于标准的技术。GRPC是一个开放标准,许多编程语言都支持它,包括.NET。

目前不可能在浏览器中实现GRPC HTTP/2规范,因为没有对请求进行足够细粒度控制的浏览器API。GRPC-Web是一个标准化协议,它解决了这个问题,并使GRPC可以在浏览器中使用。GRPC-Web为现代浏览器应用程序带来了许多GRPC的伟大特性,比如小的二进制消息和合同优先的API。

从浏览器调用ASP.NET Core GRPC应用程序-浏览器API不能调用GRPC HTTP/2。GRPC-Web提供了兼容的替代方案。

在IIS和Azure应用服务中托管ASP.NET Core GRPC应用-某些服务器(如IIS和Azure应用服务)当前无法托管GRPC服务。虽然这项工作正在积极进行中,但GRPC-Web提供了一个有趣的替代方案,可以在今天的所有环境中运行。

从非.NET核心平台调用GRPC-并非所有.NET平台上的HttpClient都支持HTTP/2。GRPC-Web可用于从Blazor和Xamarin调用GRPC服务。

我们与Blazor团队合作,使GRPC-Web在Blazor WebAssembly应用程序中使用时成为非常棒的端到端开发人员体验。GRPC工具不仅会自动生成强类型的客户端,供您从Blazor应用程序调用GRPC服务,而且GRPC比JSON提供了显著的性能优势。

Blazor的默认模板应用程序就是性能优势发挥作用的一个很好的例子。使用GRPC而不是JSON时,FETCH Data页上传输的数据减半。数据大小从627字节减少到309字节。

这里的性能收益来自于GRPC相对于传统的基于文本的JSON的高效二进制序列化。GRPC-Web是改进基于浏览器的富应用程序的一个令人兴奋的机会。

有关GRPC-Web的更多信息,请查看文档,或尝试使用GRPC-Web的示例应用程序。

试用我们的Visual Studio 2019预览扩展,无需保存即可实时预览您的Web项目并同步代码!介绍Visual Studio中的Web Live预览模式。

.NET 5预览版5现已可用,并已准备好进行评估!.NET 5将是当前版本。开始使用.NET 5.0预览版5实例中的ASP.NET核心