GRPC与.net core

QQ讨论群:953553560


正文

系列章节

GRPC与.net core

GRPC截止时间与元数据

GRPC与netcore Identity

GRPC与netcore IdentityServer4

概述

GRPC的数据交互模式有:

1.单项RPC,最简单的数据交换方式,客户端发出单个请求,收到单个响应

2.服务端流式RPC,是在服务端收到客户端的请求之后,返回一个应答流,客户端收到流之后处理。

3.客户端流式RPC,与单项类似,但客户端发送的是流式RPC

4.双向流式RPC,调用由客户端调用方法来初始化,而服务端则接收到客户端的元数据,方法名和截止时间。服务端可以选择发送回它的初始元数据或等待客户端发送请求。下一步怎样发展取决于应用,因为客户端和服务端能在任意顺序上读写 - 这些流的操作是完全独立的。例如服务端可以一直等直到它接收到所有客户端的消息才写应答,或者服务端和客户端可以像"乒乓球"一样:服务端后得到一个请求就回送一个应答,接着客户端根据应答来发送另一个请求,以此类推。

单项RPC较简单不做示例了。

首先在vs2019中net core3.0中新建GRPC项目。然后定义响应的proto文件,根据proto文件生成响应的服务端与客户端代码。

1.服务端流式RPC

1.定义 protofile

640?wx_fmt=png


2.实现服务端Service

重新生成项目,然后实现GetStreamContent,简单的读取文件内容,并将内容返回给Client

640?wx_fmt=png


3.实现Client

新建一个netcore 3.0的Console项目,并引入Nuget包

640?wx_fmt=png

编辑项目文件,修改如下节点

重新生成项目,Client端主要实现发送请求,请求是一个服务器端的文件路径。然后实现接收服务端的流,并保存到Client本地。

640?wx_fmt=png

文件生成成功

640?wx_fmt=png

 2.客户端流式RPC


1.定义 protofile


2.实现服务端Service

重新生成项目,并实现如下

640?wx_fmt=png


3.实现Client

新建一个netcore 3.0的Console项目,并引入Nuget包,安装nuget包与其他操作同上一个例子,实现代码如下

640?wx_fmt=png

 3.双向流式RPC


1.定义proto


2.服务端实现

重新生成项目,并实现如下

640?wx_fmt=png

3.客户端代码

新建一个netcore 3.0的Console项目,并引入Nuget包,安装nuget包与其他操作同上一个例子,实现代码如下

640?wx_fmt=png

至此,GRPC的几种数据交互分享完毕

原文地址:https://www.cnblogs.com/chenyishi/p/11143375.html


.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com 

640?wx_fmt=jpeg

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

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

相关文章

【Hitachi2020C】ThREE【构造】【二分图染色】

传送门 题意:给一棵nnn个结点的树,构造一个nnn阶排列ppp,使得所有距离为333的点对(i,j)(i,j)(i,j)满足pipjp_ip_jpi​pj​和pipjp_ip_jpi​pj​至少一个为333的倍数。 分析一下,这个条件等价于所有距离333的点对点权对三取模后不…

【HNOI2015】接水果【整体二分】【DFS序】【双区间转矩形】【扫描线】【树状数组】

传送门 题意:给定一个nnn个点的树,定义一个“盘子”为一个给定权值的路径,一个“水果”为一条路径,一个盘子可以接到水果当且仅当盘子的路径是水果的子路径。给出所有盘子和水果,对于每个水果求可以接它的盘子中第kik…

程序员修神之路--做好分库分表其实很难之一

点击上方“蓝字”带你去看小星星菜哥,领导让我开发新系统了这么说领导对你还是挺信任的呀~必须的,为了设计好这个新系统,数据库设计我花了好多心思呢做一个系统我觉得不应该从数据库入手,应该从设计业务模型开始,先不说…

【CF1311E】Construct the Binary Tree【增量构造】【复杂度证明】

题意:给定nnn和ddd,构造或判断无法构造一棵二叉树使得所有点的深度(定义为到根距离)之和为ddd。 n,d≤5000n,d\leq 5000n,d≤5000 显然可以算出有解的ddd的下界和上界,分别是完全二叉树和链的情况。下面会证明在这个范…

Office 365开发者的前端必备课程

这篇文章其实不仅仅是写给Office 365开发者的,但对于广大的Office 365开发者来说确实相当重要的。这里提到的Office 365开发者,包括了Office Add-ins,SharePoint Add-ins,Microsoft Graph,Microsoft Teams的开发者。我…

【CF1338C】Perfect Triples【位运算】【构造】

传送门 题意:有一序列SSS由下列方式生成: 找到字典序最小的正整数(a,b,c)(a,b,c)(a,b,c),满足a,b,ca,b,ca,b,c不在SSS中且a⊕b⊕c0a\oplus b\oplus c0a⊕b⊕c0,其中⊕\oplus⊕为异或将a,b,ca,b,ca,b,c加入SSS重复第一步 TTT组数据&#xff…

.NET开发框架(五)-IIS上部署ASP.NET Core项目教程

在之前教程中,我们分享了框架的功能与视频演示介绍(文尾底部提供往期教程快捷链接)系列教程:从初学者到架构师的一步步蜕变本篇经验将和大家介绍如何在IIS上部署ASP.NET Core项目,希望对初学.NET CORE的童靴入门有所帮助!1、打开V…

P4146 序列终结者 平衡树 + lazy维护

传送门 文章目录题意:思路:题意: 思路: 平衡树裸题,直接维护俩lazylazylazy就行了。 需要注意的是,只有儿子节点存在的时候才能更新,不然更新到000号节点之后,给000号点加上了奇怪的…

.NET开发框架(四)-服务器IIS实践教程

前三篇教程中,我们分享了框架的功能与视频演示介绍(文尾底部提供往期教程快捷链接),今天开始我们进入实践教程,从0开始教学,让你从新手到架构师之兑变,目前已经重置了一台服务器,从安装与配置各组件开始学习…

【十二省联考2019】异或粽子【01Trie】【堆】【前k大套路】

题意&#xff1a;给定长度为nnn的序列aaa&#xff0c;求前kkk大的区间异或和之和。 n≤5105,k≤min⁡(n(n−1)2,2105),ai<232n\leq 5\times 10^5,k\leq \min(\frac{n(n-1)}2,2\times10^5),a_i<2^{32}n≤5105,k≤min(2n(n−1)​,2105),ai​<232 原来省选题这么裸&…

.NET Core IdentityServer4实战 第六章-Consent授权页

在identityServer4中登陆页面只要是成功了&#xff0c;就会注册一个Cookie在服务器资源上&#xff0c;像现在大部分的网站第三方授权&#xff0c;都是经过一个页面&#xff0c;然后选需要的功能&#xff0c;IdentityServer4也给我们提供了&#xff0c;只要你登陆成功,就会跳转到…

Codeforces Round #674 (Div. 3) F. Number of Subsequences 简单计数dp

传送门 文章目录题意&#xff1a;思路&#xff1a;题意&#xff1a; 给你一个长度为nnn的串&#xff0c;包含a,b,c,?a,b,c,?a,b,c,?四种字符&#xff0c;其中???可以变成为a,b,ca,b,ca,b,c的任意一种&#xff0c;让你求abcabcabc子序列出现的次数。 思路&#xff1a; …

【十二省联考】春节十二响【贪心】【堆】【启发式合并】

传送门 题意&#xff1a;给一棵nnn个点带点权的树&#xff0c;要求把点分成若干部分&#xff0c;有祖孙关系的点不能在同一部分。求每个部分最大值 的和 的最小值。 n≤2105n \leq 2\times 10^5n≤2105 由链的部分得到启发&#xff0c;每个点用一个堆来维护&#xff0c;合并两…

GitHub的CI实践(xUnit / OpenCover /Appveyor / Coveralls.net)

最近利用业余时间实现.ner core 版本的 casbin &#xff0c;即 Casbin.NET。之前的CI都使用的是公司搭建的jenkins和gitlab-runner&#xff0c;对开源社区的工具链并不是很熟悉&#xff0c;在casbin的原作者(hsluoyz )的“要求”下&#xff0c;只能被迫在项目的README.md加入下…

P4847 银河英雄传说V2 非旋treap

传送门 文章目录题意&#xff1a;思路&#xff1a;题意&#xff1a; 思路&#xff1a; 让我们分析一下题目需要实现什么操作&#xff1a; (1)(1)(1)将某个序列放到某个的后面&#xff0c;也就是合并两个序列。 (2)(2)(2)将一个序列从某处断开。 (3)(3)(3)查询某个序列的一段和…

【NOI online 2】游戏【二项式反演】【树上背包】

题意&#xff1a;一棵n2mn2mn2m个点的树&#xff0c;mmm个白点和mmm个黑点。对于k∈[0,n]k\in [0,n]k∈[0,n]&#xff0c;求出 把点黑白两两配对使得恰好有kkk对点有祖孙关系 的方案数 模998244353998244353998244353。 n≤5000n \leq 5000n≤5000 见到恰好考虑容斥&#xff0…

小白开学Asp.Net Core 《五》

小白开学Asp.Net Core《五》—— 使用.Net Core MVC Filter一、简介今天在项目&#xff08;https://github.com/AjuPrince/Aju.Carefree&#xff09;做登陆权限时&#xff0c;用到了Filter&#xff0c;现将Filer的使用做以下记录。二、Filter 简介Filter俗称过滤器&#xff0c;…

P5217 贫穷 平衡树

传送门 文章目录题意&#xff1a;思路&#xff1a;题意&#xff1a; 思路&#xff1a; 本来是不想写数据结构了&#xff0c;因为明天打蓝桥了&#xff0c;想放松一下&#xff0c;但是看到这个题感觉写起来挺简单的&#xff0c;就试了试&#xff0c;结果… 首先看一下他的操作…

高性能微服务网关.NETCore客户端Kong.Net开源发布

前言项目地址&#xff1a;https://github.com/lianggx/Kong.Net你的支持使我们更加强大&#xff0c;请单击 star 让更多的 .NETCore 认识它。拥抱开源的脚步&#xff0c;我们从来都是一直在路上&#xff1b;.NETCore作为后起之秀&#xff0c;带给我们太多的惊喜和感动&#xff…

【CF923E】Perpetual Subtraction【生成函数】【积分推式子】【NTT卷积】

题意&#xff1a;有一个整数x∈[0,n]x\in[0,n]x∈[0,n]&#xff0c;取iii的概率为pip_ipi​。执行mmm次操作&#xff0c;每次把xxx等概率变成[0,x][0,x][0,x]中的一个整数&#xff0c;求操作完后等于每个数的概率。模998244353998244353998244353。 n≤105,m≤1018n\leq 10^5,m…