当前位置: 首页 > news >正文

深圳市招投标交易中心网站南昌网站建设搜q.479185700

深圳市招投标交易中心网站,南昌网站建设搜q.479185700,甘肃做网站哪个平台好,传奇手游平台Supported languages | gRPC,官网。至于原理就不说了,可以百度原理之后,然后再结合代码,事半功倍,就能很好理解GRPC了。 目录 一、简单使用 二、实际应用 一、简单使用 1.使用vs2022创建一个grpc程序,…

Supported languages | gRPC,官网。至于原理就不说了,可以百度原理之后,然后再结合代码,事半功倍,就能很好理解GRPC了。

目录

一、简单使用

二、实际应用 


一、简单使用

1.使用vs2022创建一个grpc程序,直接就默认值,下一步

2.文件说明

文件1:就是对外面调用的自定义协议,也可以理解是接口,双方必须规定一致性,把写的方法暴露出去。

文件2:就是一般写的方法,业务逻辑。

greet.proto文件

Greeter 定义的服务名字

这里结合下面写的,SayHello方法名字,HelloRequest请求参数,HelloReply返回的参数

3.此时,默认的程序就是一个服务端,那么我们就创建一个客户端去访问它

为了方便我们建立一个控制台程序,实际情况,什么程序都是可以的

4.客户端需要安装3个包

Google.Protobuf

Grpc.Net.Client

Grpc.Tools

5. 然后把服务端的这个文件夹整体拿过来放在客户端下面

这个意思就是,他们有共同的协议,就互通了

6.同理,也把服务端的ItemGroup复制到客户端

把Server改成Client

千万别把上面的替换了,这句在最下面

  <ItemGroup><Protobuf Include="Protos\greet.proto" GrpcServices="Client" /></ItemGroup>

7.然后在Program中调用

using Grpc.Net.Client;
using GrpcService1;namespace ClientGRPC
{internal class Program{static void Main(string[] args){string url = "https://localhost:5001";   //httpsusing (var channel = GrpcChannel.ForAddress(url)){var client = new Greeter.GreeterClient(channel);var reply = client.SayHello(new HelloRequest(){Name = "故里2130"});Console.WriteLine($"结果:message:{reply.Message}");}Console.ReadKey();//AppContext.SetSwitch("System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport", true);  //http调用//string url = "http://localhost:5000";//using (var channel = GrpcChannel.ForAddress(url))//{//    var client = new Greeter.GreeterClient(channel);//    var reply = client.SayHello(new HelloRequest()//    {//        Name = "故里2130"//    });//    Console.WriteLine($"结果:message:{reply.Message}");//}//Console.ReadKey();}}
}

8.效果

这样,我们就完成了,简单的使用过程,和webapi的效果差不多。但是它的速度远远大于webapi。

补充:在IOC注入的方式调用GRPC,后面可以参考源码

二、实际应用

实际中使用,我们应该结合webapi和grpc一起使用的

其实就是把刚才创建的GrpcService1全部迁移到webapi中就行了

1.安装包Grpc.AspNetCore 

2.复制文件

3.创建GreeterService.cs,直接复制就行了

using Grpc.Core;
using GrpcService1;namespace webapiGRPC.Controllers
{public class GreeterService : Greeter.GreeterBase{private readonly ILogger<GreeterService> _logger;public GreeterService(ILogger<GreeterService> logger){_logger = logger;}public override Task<HelloReply> SayHello(HelloRequest request, ServerCallContext context){return Task.FromResult(new HelloReply{Message = "Hello " + request.Name});}}
}

4.在Program.cs中注入

using GrpcService1;
using webapiGRPC.Controllers;namespace webapiGRPC
{public class Program{public static void Main(string[] args){var builder = WebApplication.CreateBuilder(args);// Add services to the container.builder.Services.AddControllers();// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbucklebuilder.Services.AddEndpointsApiExplorer();builder.Services.AddSwaggerGen();builder.Services.AddGrpc();var app = builder.Build();// Configure the HTTP request pipeline.//if (app.Environment.IsDevelopment())//{app.UseSwagger();app.UseSwaggerUI();//}app.UseHttpsRedirection();app.UseAuthorization();app.MapGrpcService<GreeterService>();app.MapControllers();app.Run();}}
}

5.在项目文件中,增加如下代码

然后点击生成

如果报错的话,一定要注意greet.proto中你写的命名空间,命名空间是什么,那么就引用什么,否则继承的时候,一直报错

  <ItemGroup><Protobuf Include="Protos\greet.proto" GrpcServices="Server" /></ItemGroup>

所有文件

6.运行webapi和刚才的控制台程序看效果

可以看到,webapi和控制台程序全部通了

此时,我们就可以全部使用了,对自己的软件调用GRPC,增加效率。对外部的软件使用webapi,比较安全

源码:

Net6GrpcService: Net6GrpcService

http://www.yayakq.cn/news/752559/

相关文章:

  • 自己的服务器建网站计算机专业论文 网站建设
  • 自己的网站怎么优化帝国cms添加网站地图
  • 网站空间域名续费哪个推广平台效果好
  • 网站后台可视化编辑高端 旅游 网站建设
  • 中国职业培训在线官方网站郑州鹏之信网络科技有限公司
  • 汉阳网站推广公司做电子简历的网站
  • 建设银行梅李分行网站广东网站建设教程
  • 怎么把网站推广出去一个公司网站的价格
  • 自适应网站建设都找全网天下上海招聘网站建设
  • 怎么制作属于自己的网站备案后怎么建设网站
  • 做旅游网站的工作流程图济南哪里有做网站的
  • 网站建设要准备的内容医疗器械产品设计公司
  • 宁波有哪家公司做网站的j建设局域网网站
  • 把网站放在虚拟主机上 怎么进入网站后台关键词怎么做快速的有排名
  • 建网站多少钱 万户在线解析网站
  • 南通网站建设top群晖 直接编辑wordpress
  • 做个网站应该怎么做大连网站代运营的公司有哪些
  • 网站后台都需要什么软件做用户登录页面html代码
  • 网站开发资源韩国小游戏网站
  • 济南网站的公司哪家好wordpress 阿里云
  • 网站建设相关工作学前端去哪个培训机构
  • 胶州市住房建设局网站企业管理咨询的工作主体
  • 营销型网站设计内容做外贸网站效果好吗
  • 郑州网站建设设计怎么用ftp清空网站
  • 个人简历模板网站石家庄关键词优化报价
  • 网站策划方案书松江品划网络做网站
  • 公司网站开发步骤广州番禺区核酸检测点
  • 医院网站域名备案建设银行培训网站
  • 上海外贸平台赣州seo优化
  • 网站开发实施经费预算广州市官网网站建设哪家好