Asp.net core 如何将流文件发送到grpc并在.net core中获得响应?

Asp.net core 如何将流文件发送到grpc并在.net core中获得响应?,asp.net-core,grpc,Asp.net Core,Grpc,嗨,我对grpc有2个问题 如何将列表从客户端发送到grpc服务器 客户端代码的图像: 代码客户端: var channel = GrpcChannel.ForAddress("https://localhost:5001"); var client = new FileOperation.FileOperationClient(channel); var input = new OperationRequest {

嗨,我对grpc有2个问题

  • 如何将列表从客户端发送到grpc服务器
  • 客户端代码的图像:

    代码客户端:

     var channel = GrpcChannel.ForAddress("https://localhost:5001");
            var client = new FileOperation.FileOperationClient(channel);
            var input = new OperationRequest
            {
                Title = "Test",
                ListOfStrings = new List<string>()
            { "F:\\Images\\1.jpg", "F:\\Images\\2.jpg", "F:\\Images\\3.jpg" }
            };
    

    2.如何使用流将路径发送到grpc服务器(先发送并获得响应,然后再发送,…)

    重复字段在protobufs中有一些额外的限制,这些限制在一些语言实现中会导致此问题

    在C语言中,你应该能够使用
    Add
    ()实现你想要的

    正确回答第二个问题,因为流是独立的

    你可以

    • 或者使用标识符注释消息,以便您可以在流中唯一地标识单个消息
    • 或者将特定请求与其响应联系起来(
      rpc SendFileOperation(OperationRequest)返回(OperationResponse)

    重复字段在protobufs中有一些额外的限制,这些限制在一些语言实现中造成了这种挑战

    在C语言中,你应该能够使用
    Add
    ()实现你想要的

    正确回答第二个问题,因为流是独立的

    你可以

    • 或者使用标识符注释消息,以便您可以在流中唯一地标识单个消息
    • 或者将特定请求与其响应联系起来(
      rpc SendFileOperation(OperationRequest)返回(OperationResponse)
        syntax = "proto3";
    
    option csharp_namespace = "Server";
    
    
    service FileOperation {
      rpc SendFileOperation (stream OperationRequest) returns (stream OperationResponse);
    }
    
    message OperationRequest {
        string title=1;
        repeated ListOfStrings listOfStrings=2;
    }
    
    message ListOfStrings {
        repeated string strings=1;
    }
    
    message OperationResponse {
      string message = 1;
    }