使用 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,一经查实,立即删除!

相关文章

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

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

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

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

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…

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;它的键盘快捷键是…

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

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

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

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

ueditor如何设置上传图片的高度宽度_怎么设置天猫主图

天猫主图很多人都设置过&#xff0c;不过&#xff0c;新手第一长主图往往不是很在行&#xff0c;所以也不懂怎么设置&#xff1f;那今天&#xff0c;麦顶电商就给大家科普下关于天猫长主图的知识&#xff0c;想要学习设置长主图的店主&#xff0c;这期的内容也正好适合你们。用…

鸿蒙系统2020正式版,鸿蒙2.0来了!华为开发者大会HDC 2020宣布

原标题&#xff1a;鸿蒙2.0来了&#xff01;华为开发者大会HDC 2020宣布华为官方宣布&#xff0c;2020年度华为开发者大会“HDC Together”将于9月10日至9月12日在东莞松山湖举办&#xff0c;早鸟门票明天起开售。根据预告&#xff0c;本次大会将带来主题演讲、技术论坛、行业大…

洋哥!我要进大厂!

阅读本文大概需要4分钟。最近不少读者咨询洋哥如何进大厂&#xff0c;回答的多了就想着要不整理出一个系列文章出来。说干就干&#xff0c;第一期先写写应届毕业和刚工作不久的计算机专业的童鞋如何进大厂。先说说必须要做到的几件事&#xff1a;第一&#xff0c;学校内的课程&…

调整png的不透明度_TGA与PNG的优劣对比

一、TGA与PNG的特点&#xff08;一&#xff09;PNG 解码混乱 不稳定 有时候不能识别 放在AE里呈像杂质&#xff0c;斑点极多。PNG相当于视频格式中AVI。而TGA 更接近原始格式&#xff0c;更安全稳定&#xff0c;两者质量单独的最优无损情况下效果差不多。图1TGA格式二值化后放到…

这难道不是.NET5的bug? 在线求锤?

hello&#xff0c;最近在对一个使用.NET5项目的认证授权系统进行重构&#xff0c;对.NET 5的授权中间件的源码有些看法。也希望同学们能帮我理解。一个朴素的需求这是一个api项目&#xff0c;默认所有的api都需要授权&#xff0c; 少量散落在Controller各处的api不需要授权访问…

win2008r2用户账户控制什么意思_养老保险统筹账户是什么意思?有什么用?

我国《社会保险法》规定&#xff1a;基本养老保险实行统筹账户和个人账户相结合的方式。对于在职职工来说&#xff0c;养老保险费分为单位缴费和个人缴费两部分&#xff1b;单位一般按照缴费基数的20%划入到统筹账户中&#xff0c;个人按照缴费基数的8%计入到个人账户里&#x…

android手机拍摄权限,react-native 手机拍照权限

第一步 &#xff1a;在 android/app/src/main/AndroidManifest.xml添加然后运行项目在手机应用权限哪里查看这是添加前的这是添加后的第二步调用import React, {Component} from react;import {View,Text,Image,StyleSheet,Button,Modal,TouchableHighlight,TouchableOpacity,D…

idea 一直在build_让web开发部署提速 8 倍的一款 IDEA 插件,你有在用?

原文:http://suo.im/4on4JE 来源于云栖社区>中间件小哥作为一个 Java 程序员&#xff0c;我们大多数会在 Intellij IDEA 中基于 SpringBoot 来开发 WEB 应用&#xff0c;所以本文中的测评将会基于以下几个架构来构建&#xff1a;开发环境&#xff1a;IDEA项目组织方式&…