使用 gRPCurl 调试.NET 5的gPRC服务

介绍

你用过 Curl 吗?这个工具允许你通过 http 来发送数据,现在有一个适用于gGRPC的工具,gRPCurl,在本文中,我将介绍如何下载安装这个工具,然后通过这个工具调试我们.NET 5上面的gGRC程序。

安装 gRPCurl

gRPCurl 基于GO语言开发,所以,你要安装GO环境,可以在这里下载, https://golang.org/doc/install,它的安装非常简单,您只需要运行安装程序就可以了!

安装完GO环境以后,还需要设置 Windows环境变量,然后使用管理员身份打开PowerShell,运行下边两个命令:

go get github.com/fullstorydev/grpcurl/...
go install github.com/fullstorydev/grpcurl/cmd/grpcurl

如果安装成功,则可以通过运行以下的命令进行测试:

grpcurl --help

你应该在PowerShell窗口中看到以下内容:

ASP.NET Core gRPC

为了使gRPCurl有效,它需要了解gRPC消息和端点定义,有两种方法:反射。我将向您展示如何使用反射,因为这是.NET中最简单的方法,为了能够使用Reflection,使用以下命令安装:

Install-Package Grpc.AspNetCore.Server.Reflection -Version 2.34.0

然后,使用 services.AddGrpcReflection()和 endpoints.MapGrpcReflectionService()方法为ASP.NET Core gRPC应用程序配置, 第一个启用gRPC的反射,第二个是通过反射向gRPCurl提供示例端点和消息信息的端点:

using CountryService.Web.Services;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;namespace CountryService.Web
{public class Startup{public void ConfigureServices(IServiceCollection services){services.AddGrpc();services.AddGrpcReflection();services.AddSingleton<CountryManagementService>();}public void Configure(IApplicationBuilder app, IWebHostEnvironment env){if (env.IsDevelopment()){app.UseDeveloperExceptionPage();}app.UseRouting();app.UseEndpoints(endpoints =>{endpoints.MapGrpcService<CountryGrpcService>();endpoints.MapGrpcReflectionService();});}}
}

使用 gRPCurl

通过运行以下命令列出所有可用的gRPC服务:

grpccurl localhost:5001 list

通过运行以下命令,列出指定gRPC服务的所有可用gRPC端点:

grpccurl localhost:5001 list YourgRPCServiceFullName

通过运行以下命令来调用一个获取列表的端点:

grpcurl localhost:5001 gRPCDemo.v1.CountryService/GetAll

通过运行一下命令,来获取一个元素,它需要传入JSON参数:

grpcurl localhost:5001 -d 'JSON字符串' gRPCDemo.v1.CountryService/Get

总结

这是gRPCurl的简单教程, gRPCurl具有很多功能,如果您想了解更多信息, 我建议你可以在这里找到更多的api,https://github.com/fullstorydev/grpcurl

原文作者: Anthony Giretti 原文链接:https://anthonygiretti.com/2021/01/13/grpc-asp-net-core-5-test-grpc-endpoints-with-grpcurl/

最后

欢迎扫码关注我们的公众号 【全球技术精选】,专注国外优秀博客的翻译和开源项目分享,也可以添加QQ群 897216102

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

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

相关文章

ICE专题:ICE简介

ICE(Internet Communications Engine)是一个为现实中程序员而写的中间件平台。作为一个高性能的互联网通信平台&#xff0c;ICE包含了很多分层的服务和插件(Plug-ins)&#xff0c;并且简单、高效和强大。 ICE的自由使用遵从GNU的GPL(GNU General Public Licens)许可的条款。ICE…

c语言计算文件摘要值,c语言文件操作摘要.ppt

c语言文件操作摘要第十章 文件 10.1 C文件概述 文件&#xff1a;存储在外部介质上数据的集合,是操作系统数据管理的单位 文件处理方法 缓冲文件系统&#xff1a;高级文件系统&#xff0c;系统自动为正在使用的文件开辟内存缓冲区 非缓冲文件系统&#xff1a;低级文件系统&#…

此 sqltransaction 已完成;它再也无法使用_手把手教你如何修眉毛,学会再也不用花钱去美容院了...

最近看到有网友在评论中询问怎么修眉毛&#xff0c;刚好小编我对修眉有一点研究&#xff0c;可能比不上专业修眉的&#xff0c;但是最少能看不是&#xff0c;今天拿出来献给大家&#xff0c;希望各位自己学会如何修眉毛&#xff0c;那样的话以后就再也不用花钱去美容院了。在此…

国产OS推广应从娃娃和体制内双管齐下

一直以来&#xff0c;国内桌面操作系统被微软垄断。究其根源&#xff0c;既有微软技术更成熟&#xff0c;软件生态丰富、服务完善、商业化水平更好等因素之外&#xff0c;也有老百姓习惯于使用Windows等因素。老百姓之所以习惯于Windows&#xff0c;则是因为破解版横行和微软早…

ASP.NET AJAX 控件开发基础

在 JavaScript 当前广泛使用的版本中&#xff0c;它缺少 .NET 开发人员所熟悉的几个 OOP 的关键概念&#xff0c;而 ASP.NET AJAX 可以模拟其中的大多数,而且 ASP.NET AJAX 的目标是将使用 .NET 的开发人员所熟悉的某些其他构造&#xff08;例如属性、事件、枚举和接口&#xf…

c语言铁路托运行李费用图,3.为铁路部门编写计算运费的程序。假设铁路托运行李,规定每张客票托运费计算方法是:行李重量不超过50kg...

满意答案wodfsdfeqd81推荐于 2018.10.08采纳率&#xff1a;51% 等级&#xff1a;12已帮助&#xff1a;5850人using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication40{class Program{static void Main(string[]…

ufo帧率测试网站_一加7游戏续航测试 满电开始玩猜猜能玩多久

业界顶级的90Hz刷新率屏幕打造沉浸式视觉体验&#xff1b;骁龙855移动平台加强性能输出&#xff1b;更加炫酷的曲面屏设计...采用无刘海式真全面屏&#xff0c;屏占比屏幕赠大的同时&#xff0c;电池容量也进一步得到提升。对于省电优化能力卓尔不群的一加7 Pro&#xff0c;让手…

并行模型Actor

并行开发时经常需要关注加锁和原子操作等一系列线程问题&#xff0c;而Actor模型内部状态由它自己维护&#xff0c;内部数据只能自己修改&#xff0c;因此Actor不需要过多关注线程问题。Actor模型Actor由状态&#xff08;State&#xff09;、邮箱&#xff08;Mailbox&#xff0…

c#书写规范之---代码书写规范

代码书写规范 格式化使代码的逻辑结构很明显。花时间确保源代码以一致的逻辑方式进行格式化&#xff0c;这对于您和你的开发小组&#xff0c;以及以后维护源代码的其他开发人员都有很大的帮助。 以下几点是推荐的格式化方法。 建立标准的缩进大小&#xff08;如四个空格&#…

linux cache fs,新闻|Linux 上将出现一个新的文件系统:bcachefs

这个有 5 年历史&#xff0c;由 Kent Oberstreet 创建&#xff0c;过去属于谷歌的文件系统&#xff0c;最近完成了全部关键组件。Bcachefs 文件系统自称其性能和稳定性与 ext4 和 xfs 相同&#xff0c;而其他方面的功能又可以与 btrfs 和 zfs 相媲美。主要特性包括校验、压缩、…

cad单位_CAD制图初学入门常用技巧汇总,CAD零基础也不怕!

CAD制图初学入门的小萌新们&#xff0c;最苦恼的莫过于&#xff1a;千辛万苦&#xff0c;好不容易安装的CAD软件&#xff0c;在实际CAD设计绘图中&#xff0c;居然遭遇各种问题。没有CAD制图初学入门教程、缺乏CAD大神指点、CAD图纸资源极度匮乏&#xff0c;CAD小萌新们的成长之…

跟本菜菜一起去体验Microsoft Windows Server Code Name Longhorn Server Core

消失的菜菜又回来了,这段时间由于很多原因没及时更新blog,忘大家见谅…还记得菜菜以前给大家介绍的Microsoft Windows Server Longhorn吗?今天我给大家带来Microsoft Windows Server Code Name "Longhorn” server core.也许很多人都听说过吧?!我在简单的给大家做个简单…

乐视android版本点四下,EUI5.9+Android7.0刷机包

乐视EUI5.9系统刷机包&#xff0c;乐视更新了EUI5.9&#xff0c;不仅有语音助手还有iPhone的小白点悬浮球&#xff0c;功能齐全&#xff0c;界面简单&#xff0c;实在是应该给程序员点个赞&#xff01;乐视EUI5.9系统刷机包更新内容&#xff1a;设置 新增悬浮球功能管家 新增应…

得出来的视差图左边有黑色补上原图_掌握这10个抠图方法,帮你轻松应对大部分抠图工作!(动图演示...

新手只要掌握今天这10个方法&#xff0c;就足够对付绝大部分的抠图工作了。1、橡皮擦工具橡皮擦工具&#xff0c;更多时候跟“抠图”看似没啥关系&#xff0c;然而&#xff0c;竟然它能起到“擦除”的作用&#xff0c;那么就完全可以用来抠图去背了&#xff0c;它的键盘快捷键是…

开发进阶:Dotnet Core多路径异步终止

今天用一个简单例子说说异步的多路径终止。我尽可能写得容易理解吧&#xff0c;但今天的内容需要有一定的编程能力。今天这个话题&#xff0c;来自于最近对gRPC的一些技术研究。话题本身跟gRPC没有太大关系。应用中&#xff0c;我用到了全双工数据管道这样一个相对复杂的概念。…

android 活动切换动画,android – 在使用ChangeImageTransform共享元素转换的两个活动之间动画化ImageView...

要在具有共享元素的两个活动之间进行屏幕转换动画&#xff0c;您可以阅读this article并按照上述步骤&#xff1a;Enable window content transitions in your theme.Specify a shared elements transition in your style.Define your transition as an XML resource.Assign a …

怎样开始学习ERP?

最近我们公司的一个事业部来了一个新员工&#xff0c;行政主管把它领到我的面前&#xff0c;说他只接触过一些ERP&#xff0c;以后工作的主要内容就是负责该事业部内部的ERP系统。我也没有多问&#xff0c;因为他至于怎么被招聘的&#xff0c;已经不是我的事情了。我简单地问了…

win10右键一直转圈_Win10电脑开机一直转圈无法进入系统的解决方法

相信很多用户在安装Win10系统之后&#xff0c;常常会出现一些问题&#xff0c;其中就有电脑开不了机一直在转圈的情况&#xff0c;那么遇到电脑开机一直在转圈怎么办呢&#xff1f;下面笔者就针对这一情况和大家介绍Win10系统电脑开不了机一直在转圈的解决方法。解决方法开机马…

跨平台导PDF,结合wkhtmltopdf很顺手

前言好东西要分享&#xff0c;之前一直在使用wkhtmltopdf进行pdf文件的生成&#xff0c;常用的方式就是先安装wkhtmltopdf&#xff0c;然后在程序中用命令的方式将对应的html生成pdf文件&#xff0c;简单而且方便&#xff1b;但重复的编码使得想在wkhtmltopdf基础上进行封装&am…

女人15个秘密武器疼爱男人(女人必看)

一、成为他的空气 男人有时是更犹豫的&#xff0c;更孩子气的&#xff0c;比女人更少有勇气去承担爱的。他就像是那条在水里游来游去的鱼&#xff0c;一直在高唱着“我要自由”的歌曲。所以你只有慢慢***他的生活里&#xff0c;令他身在其中&#xff0c;舒适而不自觉&#xff0…