.NET Core(.NET6)中gRPC使用


目录

  • 一、简介
  • 二、创建gRPC服务端
    • 1.创建gRPC项目
    • 2.编写自己的服务
  • 三、创建gRPC客户端
    • 1.创建客户端项目
    • 2.grPC服务https的调用
    • 3.gRPC内网http调用
    • 4.IOC注入的方式调用gRPC
  • 四、webapi中加入gRPC

回到顶部回到顶部回到顶部回到顶部

四、webapi中加入gRPC

通常我们的服务有对外提供对外接口,又要对内提供gRPC服务,那怎么做呢,下面在webapi中加入gRPC服务

1.创建asp.net core mvc项目

2.安装nuget包

Grpc.AspNetCore

3.添加protebuf文件

把上面的proto文件复制过来

4.添加Service

  public class OrderService : Order.OrderBase
    {
        private readonly ILogger _logger;
        public OrderService(ILogger logger)
        {
            _logger = logger;
        }
        /// 
        /// 创建订单
        /// 
        /// 
        /// 
        /// 
        public override Task CreateOrder(CreateRequest request, ServerCallContext context)
        {
            //报存数据库 todo

            return Task.FromResult(new CreateResult
            {
                Result = true,
                Message = "订单创建成功"
            });
        }
        /// 
        /// 查询订单
        /// 
        /// 
        /// 
        /// 
        public override Task QueryOrder(QueryRequest request, ServerCallContext context)
        {
            //查询数据库 //todo

            return Task.FromResult(new QueryResult
            {
                OrderInfo = new OrderInfo
                {
                    Id = request.Id,
                    OrderNo = DateTime.Now.ToString("yyyyMMddHHmmss"),
                    OrderName = "冰箱",
                    Price = 1288
                }
            });
        }
    }

5.注册gRPC服务

在Program.cs文件中

到这里,就把gRPC加入到webapi里面了。 

6.验证

启动asp.net core mvc程序

浏览器能访问,证明 restful api是没问题的。

然后再用上面的客户端访问一下gRPC的服务。

 结果:

 这样就成功对外提供api接口和对内提供gRPC服务了。

源码地址:https://github.com/weixiaolong325/GrpcDemo.Service

   转 https://www.cnblogs.com/wei325/p/16128279.html