微软正式发布 gRPC-Web for .NET

今年一月份的时候,微软曾宣布对 gRPC-Web for .NET 的实验性支持微软实验性地对 .NET 支持 gRPC-Web,现在它已正式发布。

gRPC 是谷歌开源的高性能、通用 RPC 框架,支持包括 .NET 在内的多种编程语言。它面向移动和基于 HTTP/2 标准设计,但当前,浏览器中无法实现 gRPC HTTP/2 规范,因为没有浏览器 API 能够对请求进行足够的细粒度控制。gRPC-Web 是解决此问题并使 gRPC 在浏览器中可用的标准化协议。

gRPC-Web 即 gRPC for Web Clients。它是一个 JavaScript 库,使 Web 应用程序能够直接与后端 gRPC 服务通信,不需要 HTTP 服务器充当中介。它旨在使 gRPC 在更多情况下可用,包括但不限于:

  • 从浏览器调用 ASP.NET Core gRPC 应用程序

  • JavaScript SPAs

  • .NET Blazor Web Assembly apps

  • 在 IIS 和 Azure App Service 中托管 ASP.NET Core gRPC 应用程序

  • 从非 .NET Core 平台调用 gRPC —— 在所有 .NET 平台上,HttpClient 均不支持 HTTP/2,而 gRPC-Web 可用于从 Blazor 和 Xamarin 调用 gRPC 服务

微软表示正在与 Blazor 团队合作,使 gRPC-Web 在 Blazor WebAssembly 应用程序中使用时为端到端开发人员提供更好的体验。

根据微软的说法,gRPC 与 JSON 相比具有明显的性能优势。以 Blazor 的默认模板为例,相比 JSON,使用 gRPC 时,在提取数据页面上传输的数据减半,数据大小也从 627 字节减少到 309 字节。

目前,.NET 版 gRPC-Web 现已在 NuGet 上发布:

  • Grpc.AspNetCore.Web ——  将 gRPC-Web 支持添加到 ASP.NET Core gRPC 服务

  • Grpc.Net.Client.Web ——  从 .NET 调用 gRPC-Web 端点

有关 gRPC-Web 的更多信息,可查看 文档 ,或尝试使用 gRPC-Web 的示例应用程序 :https://github.com/grpc/grpc-dotnet/tree/master/examples#browser 。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/309214.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java多线程(review)

文章目录线程状态线程方法线程停止线程休眠——sleep网络延时模拟倒计时与打印当前系统时间线程礼让——yield线程强制执行——Join线程状态线程优先级守护线程不安全案例死锁Lock锁线程状态 新建状态: 使用 new 关键字和 Thread 类或其子类建立一个线程对象后,该线…

利用Azure Functions和k8s构建Serverless计算平台

题记:昨晚在一个技术社区直播分享了“利用Azure Functions和k8s构建Serverless计算平台”这一话题。整个分享分为4个部分:Serverless概念的介绍、Azure Functions的简单介绍、k8s和KEDA的介绍和最后的演示。ServerlessServerless其实包含了两种概念&…

基于 abp vNext 和 .NET Core 开发博客项目 - 终结篇之发布项目

系列文章使用 abp cli 搭建项目给项目瘦身,让它跑起来完善与美化,Swagger登场数据访问和代码优先自定义仓储之增删改查统一规范API,包装返回模型再说Swagger,分组、描述、小绿锁接入GitHub,用JWT保护你的API异常处理和…

对 JsonConvert 的认识太肤浅了,终于还是遇到了问题

一:背景1. 讲故事在开始本文之前,真的好想做个问卷调查,到底有多少人和我一样,对 JsonConvert 的认识只局限在 SerializeObject 和 DeserializeObject 这两个方法上(┬_┬), 这样我也好结伴同行,不再孤单落…

.Net微服务实战之DevOps篇

技术只是基础该系列的两篇文章《.Net微服务实战之技术选型篇》和《.Net微服务实战之技术架构分层篇》都是以技术角度出发描述微服务架构的实施。如果技术选型篇叙述的是工具,那么架构分层篇讲的就是技巧,而本篇要讨论的就是原则。一直以来我会给身边向我…

阿里云挑战赛

文章目录第一题题目:题解:第二题题目题解第三题题目题解第四题题目:题解第五题题目题解第六题题目题解第七题题目:题解第八题题目:题解;题解赛后出第一题 题目: 【单选】filter 方法意图过滤传入的订单列…

使用C#编写STM32对接物联网平台IoTSharp发送遥测数据

在之前的文章中, 我们阐述了如何用C#在STM32上写第一个Hello world , 有朋友抱怨国内介绍文章, 都是一个 Hello world , 然后再也没有音讯, 写到这里我想提一下我的初心, 那就是告诉所有人C#无所不能&…

JavaMVC之JSON

JSON 8.1、什么是JSON? JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式,目前使用特别广泛。采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。易于人阅读和编写…

龙芯团队完成CoreCLR MIPS64移植,在github开源

国产龙芯的软件生态之中.NET不会缺席,毕竟 C# 与 .NetCore/Mono 也是全球几大主流的编程语言和运行平台之一,最近一段时间听到太多的鼓吹政务领域不支持.NET, 大家都明白这是某些人为了自己的利益打压使用.NET技术的公司,我今天写…

来谈一谈专注力的真相

这是头哥侃码的第205篇原创在日常生活(或工作)中,你有没有遇上过这样的情况?比如你正在跟小伙伴讨论一个技术方案,聊着聊着,突然小A脑袋一抽筋,问你:“老大,咱们这周五晚…

Java访问控制修饰符

访问控制修饰符 Java中,可以使用访问控制符来保护对类、变量、方法和构造方法的访问。 Java 支持 4 种不同的访问权限。 default (即默认,什么也不写): 在同一包内可见,不使用任何修饰符。 使用对象:类、接口、变量…

数据结构与算法专题——第三题 最长公共子序列

一:作用最长公共子序列的问题常用于解决字符串的相似度,是一个非常实用的算法,作为码农,此算法是我们的必备基本功。二:概念举个例子,cnblogs这个字符串中子序列有多少个呢?很显然有27个&#x…

Java实现两个递增有序链表合并成一个递增有序链表和两个非递减有序链表合成一个非递增有序链表

代码如下: package sjjgniub;import java.util.LinkedList; import java.util.Scanner;SuppressWarnings("all") public class LinkList {private class Node{int data;Node next;public Node(){}public Node(int data){this.data data;next null;}}Node head nu…

职场PUA到底有多可怕?

阅读本文大概需要 5.2分钟。“小张,好好干啊,明年一定给你加薪!” 。从小张入职这家公司起,这是老板对小张第三次这么说了。小张每天干到晚上12点,任劳任怨,虽然一直没涨过工资,但是老板的不断认…

数据结构与算法专题——第二题 优先队列

前段时间玩小爬虫的时候,我把url都是放在内存队列里面,有时我们在抓取url的时候,通过LCS之类的相似度比较,发现某些url是很重要的,需要后端解析服务器优先处理,针对这种优先级比较大的url,普通的…

数据结构与算法专题——第一题 Bitmap算法

在所有具有性能优化的数据结构中,我想大家使用最多的就是hash表,是的,在定位查找场景上具有O(1)的常量时间,多么的简洁优美,但是在特定的场合下:①:对10亿个不重复的整数进行排序。②&#xff1…

Telegraf和Grafana监控多平台上的SQL Server

问题SQL Server在很多企业中部署在多个平台上(Windows,Linux和Container),需要一种能支持多平台的解决方案用于收集和展示相关的监控指标。我选择企业中比较流行的监控展示工具Grafana和监控指标收集工具Telegraf进行实现。这也是为了方便与企业中已经在存在监控平台…

酸吗?28岁程序员财务自由宣布退休!

财务自由是我们这代人的共同追求,有程序员28岁就做到了。近期的一条新闻就直接刷屏了,28岁今日头条程序员手握上亿期权宣布退休,引发一片羡慕嫉妒恨。履历如下:2008-2012就读于暨南大学政治与行政管理专业,自学编程。2…

nuget 是如何还原包的

nuget 是如何还原包的Intro一直以来从来都只是简单的用 nuget 包,最近想折腾一个东西,需要自己搞一个 nuget 包的解析,用户指定 nuget 包的名称和版本,然后去解析对应的 nuget 包并添加引用到项目, 于是就想搞明白 nug…