grpc-web
Microsoft已在.NET Core和ASP.NET Core中推出了对gRPC-Web的实验性支持,从而允许直接从.NET Core gRPC客户端和ASP.NET Core gRPC应用程序中调用gRPC-Web。
gRPC-Web与HTTP / 1和HTTP / 2兼容,是一个JavaScript客户端库,支持与gRPC-Node相同的API来访问gRPC服务,而gRPC作为开源RPC框架,使客户端和服务器应用程序可以透明地进行通信。
[ 也在InfoWorld上:微软开发人员工具和技术将在2020年进行探索 ]
借助gRPC-Web for .NET,Microsoft希望为浏览器应用程序带来以下功能:
- 服务器流
- 紧凑的Protobuf消息
- 强类型的代码生成的客户端
实验性程序包使ASP.NET Core应用程序无需代理即可支持gRPC-Web,并允许.NET Core gRPC客户端调用gRPC Web服务,这对于Blazor WebAssembly应用程序很有用。 除了从浏览器调用ASP.NET Core gRPC应用程序外,gRPC-Web的机会还包括:
- 从Blazor WebAssembly和Xamarin等平台调用gRPC。
- 在Azure App Services和IIS中托管ASP.NET Core gRPC应用程序。
[ 通过InfoWorld的App Dev Report新闻通讯了解软件开发中的热门话题 ]
使用gRPC-Web,有一个稳定的客户端gRPC-Web JavaScript客户端和一个代理,用于在gRPC和gRPC-Web for services之间进行转换。 微软指出,gRPC-Web的性能成本较低,并且不再支持两个gRPC功能(客户端流和双向流)。
为了在.NET中开始使用gRPC, Microsoft已发布了有关在ASP.NET Core中创建gRPC客户端和服务器的教程。 使用gRPC-Web,无需更改服务,仅修改启动配置。 gRPC GitHub存储库提供了有关为JavaScript SPA设置gRPC-Web客户端的说明。
翻译自: https://www.infoworld.com/article/3519352/microsoft-brings-grpc-web-support-to-net.html
grpc-web