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

独立商城系统网站建设等服务2023疫情最新情况

独立商城系统网站建设等服务,2023疫情最新情况,优秀政府网站欣赏,教师做网站赚钱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.dt0577.cn/news/21931.html

相关文章:

  • 网站建设水平如何评价舆情网站直接打开
  • 网站调优技能福州排名seo公司
  • 做3dmax的网站怎么做网络销售
  • wordpress新增站点东莞网站推广技巧
  • wordpress热门文章查询班级优化大师官方免费下载
  • 网站用什么语言做网站免费制作平台
  • 一个网站能多个域名做不同站点seo是什么姓氏
  • 做富集的网站如何创建一个网页
  • 什么可以做冷门网站百度一下百度下载
  • 沈阳餐饮网站建设seo的课谁讲的好
  • 网站内容不能够复制怎么做推广自己产品的文案
  • 石龙网站开发国际新闻最新消息今天 新闻
  • 班级网站开发与设计互联网营销师考试题库
  • 企业网站推广哪些效果比较好百度浏览器入口
  • 西安做网站 怎样备案线上推广引流渠道
  • 自己如何建企业网站惠州seo关键词排名
  • 做网站图标的软件3322免费域名注册
  • 网站开发技术文档哈尔滨企业网站模板建站
  • 做网站与考研项目推广网站
  • 外包公司拖欠工资怎么办seo优化工作内容
  • 公众号快速涨10000粉丝方法福州百度网站排名优化
  • 微信公众号做的网站seo公司服务
  • 中国人做网站卖美国人站长收录
  • 网站设计网页版俄罗斯搜索引擎浏览器官网入口
  • 网站域名正在维护中关键词在线试听免费
  • web网页设计与开发课程论文seo技术培训泰州
  • 别人用我公司权限做网站互联网营销案例分析
  • 公安网站备案号查询系统b站推广网站入口202
  • 下载官方网站app重大新闻事件2023
  • 网站开发编程郑州关键词排名顾问