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

记.net core 8 集成 grpc

1、创建一个grpc服务

2、编写一个test.proto文件

syntax = "proto3";

option csharp_namespace = "GrpcService";

package test;

service TestPro{
	rpc Test01 (TestRequest) returns (TestResult);
}

//返回结果
message TestResult{
	string name =1;
	string password = 2;
}

//返回结果
message TestRequest{
	string name =1;
	string password = 2;
}

3、在项目文件中加上路径

4、点击生成将会看到自动生成的cs文件

注:如果未自动生成代表存在问题

5、编写服务

public class Test01Service : TestPro.TestProBase
{
    public override Task<TestResult> Test01(TestRequest request, ServerCallContext context)
    {
        return Task.FromResult(new TestResult()
        {
            Name = request.Name,
            Password = request.Password,
        });
    }
}

6、运行,成功后创建一个客户端,无论是不是grpc工程都可以。添加包

7、将上传创建的服务端的文件拷贝过来,并在项目文件中添加路径

8、创建api然后运行

/// <summary>
/// grpc调用测试
/// </summary>
/// <returns></returns>
[HttpGet("testGrpc01")]
//可以返回的状态码
[ProducesResponseType(StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status400BadRequest)]
//swagger归属不同版本
[ApiExplorerSettings(GroupName = "v2")]
public string TestGrpc01()
{
    string url = "http://localhost:5123";

    using (var channel = GrpcChannel.ForAddress(url))
    {
        var client = new TestPro.TestProClient(channel);
        var reply = client.Test01(new TestRequest()
        {
            Name = "Test传递",
            Password = "passwordc传递"
        });

        Console.WriteLine($"密码:{reply.Password},name:{reply.Name}");
    }

    return "ok";
}


http://www.kler.cn/a/585381.html

相关文章:

  • BGP路由聚合
  • WebSocket 使用教程:从原理到实践
  • 搜广推校招面经四十九
  • 探索Trae:Cursor的完美替代,Claude-3.5-Sonnet与GPT-4o免费体验
  • VUE的脚手架搭建引入类库
  • 课上测试:MIRACL共享库使用测试
  • Matlab 灰度质心+抛物线拟合提取条纹中心
  • 黑马JUC学习笔记-上
  • 优化Go错误码管理:构建清晰、优雅的HTTP和gRPC错误码规范
  • Java通过Apache POI操作Excel
  • 正则表达式入门及常用的正则表达式
  • 封装WPF中转换器常用用法封装
  • 在PowerShell脚本中编辑appsettings.json
  • Qt QML实现鼠标自由选择不规则区域进行截图
  • Quickwit+Jaeger+Prometheus+Grafana搭建Java日志管理平台
  • 大数据学习(68)- Flink和Spark Streaming
  • [c语言日寄]字符串进阶:KMP算法
  • 使用Python编写网络爬虫:从入门到实践
  • 【Rust】枚举和模式匹配——Rust语言基础14
  • 【软设中级】软件设计师中级专题复习:(专题二)程序语言部分