Example #1
0
        protected async void GetEmployeeCollection()
        {
            Response2         = string.Empty; //清空前台显示
            using var channel = GrpcChannel.ForAddress(ServerAdderss);
            var client = new EmployeeService.EmployeeServiceClient(channel);

            //发送请求,注意和一元模式不同的是,使用client调用存根方法的返回类型是AsyncServerStreamingCall
            using var serverStreamingCall =
                      client.GetEmployeeCollection(
                          new GetEmployeeCollectionRequest
            {       //两个查询参数而已,没啥
                IsValid    = true,
                SearchTerm = Request2.Trim()
            });
            var responseStream = serverStreamingCall.ResponseStream;

            //读取流数据,调用响应流的MoveNext方法
            while (await responseStream.MoveNext(new CancellationToken()))
            {
                // 将消息显示到前端
                Response2 += responseStream.Current.Employee + Environment.NewLine;
            }
        }