记.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";
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值