Пример #1
0
        public override async Task StarWarsIntro(Google.Protobuf.WellKnownTypes.Empty request, Grpc.Core.IServerStreamWriter <ScenesResponse> responseStream, Grpc.Core.ServerCallContext context)
        {
            _logger.LogInformation("Start Streaming...");

            await responseStream.WriteAsync(new ScenesResponse()
            {
                Frame = Scenes.INTRO
            });

            _logger.LogInformation("Sending a Frame...");
            await Task.Delay(TimeSpan.FromSeconds(2));

            await responseStream.WriteAsync(new ScenesResponse()
            {
                Frame = Scenes.LOGO
            });

            _logger.LogInformation("Sending a Frame...");
            await Task.Delay(TimeSpan.FromSeconds(1));

            foreach (var frame in Scenes.FlyingLetters())
            {
                await responseStream.WriteAsync(new ScenesResponse()
                {
                    Frame = frame
                });

                _logger.LogInformation("Sending a Frame...");
                await Task.Delay(600);
            }
        }
Пример #2
0
 //[CheckPolicy("review_api_scope")]
 public override async Task <PingResponse> Ping(Empty request, ServerCallContext context)
 {
     return(await Task.FromResult(new PingResponse
     {
         Message = $"Say hello from {Environment.MachineName} machine!!!"
     }));
 }
Пример #3
0
 public override Task <CounterReply> IncrementCount(Google.Protobuf.WellKnownTypes.Empty request, ServerCallContext context)
 {
     _logger.LogInformation("Increment count by 1");
     _counter.Increment(1);
     return(Task.FromResult(new CounterReply {
         Count = _counter.Count
     }));
 }
Пример #4
0
        public override Task <GetAllTodoResponse> GetAllTodo(Google.Protobuf.WellKnownTypes.Empty request, ServerCallContext context)
        {
            var result = new GetAllTodoResponse();

            result.Todo.Add(GetAllTodo());

            return(Task.FromResult(result));
        }
        /// <summary>
        /// 获取所有角色
        /// </summary>
        /// <param name="request"></param>
        /// <param name="context"></param>
        /// <returns></returns>
        public async override Task <RoleListReplay> GetRoles(Google.Protobuf.WellKnownTypes.Empty request, ServerCallContext context)
        {
            List <ApplicationRole> ls = await applicationDbContext.Roles
                                        .ToListAsync()
                                        .ConfigureAwait(false);

            RoleListReplay replay = new RoleListReplay();

            replay.Roles.AddRange(mapper.Map <RepeatedField <RoleListReplay.Types.RoleItem> >(ls));
            return(replay);
        }
Пример #6
0
        public override Task <ItemList> GetAllItems(Google.Protobuf.WellKnownTypes.Empty empty, ServerCallContext context)
        {
            ItemList i = new ItemList();
            var      q = from r in db.Items select r;

            foreach (var item in q)
            {
                i.Items.Add(item);
            }
            return(Task.FromResult(i));
        }
Пример #7
0
        static void Main(string[] args)
        {
            var channel = Grpc.Net.Client.GrpcChannel.ForAddress("https://localhost:5001/");

            var client  = new MyGrpcServiceProtos.SomeService.SomeServiceClient(channel);
            var request = new Google.Protobuf.WellKnownTypes.Empty();
            var result  = client.getSomeItem(request);

            Console.WriteLine(result.Name);
            Console.WriteLine(result.Description);
            Console.ReadKey();
        }
Пример #8
0
 public override async Task <PingResponse> Ping(Empty request, ServerCallContext context)
 {
     try
     {
         return(await Task.FromResult(new PingResponse
         {
             Message = $"Say hello from {Environment.MachineName} machine!!!"
         }));
     }
     catch (Exception ex)
     {
         _logger.LogError(ex.Message);
         throw new RpcException(new Status(StatusCode.Internal, ex.Message));
     }
 }
        public async override Task <GetAllCategoriesResponse> GetAllCategories(Google.Protobuf.WellKnownTypes.Empty request, ServerCallContext context)
        {
            var result = await _mediator.Send(new Application.Categories.GetListRequest());

            var response = new GetAllCategoriesResponse
            {
                StatusCode   = 0,
                Message      = string.Empty,
                ResponseData = new GetAllCategoriesResponse.Types.ResponseData
                {
                    ListCategory =
                    {
                        result.Adapt <IEnumerable <CategoryResponse> >()
                    }
                }
            };

            return(response);
        }
Пример #10
0
        public override async Task ShowMessage(Google.Protobuf.WellKnownTypes.Empty _, IServerStreamWriter <MessageReply> responseStream, ServerCallContext context)
        {
            using var tokenSource = new CancellationTokenSource();
            CancellationToken token = tokenSource.Token;

            var meta     = new MessageReply();
            var metaData = new ImageMetaData();

            metaData.FileName = "kitty.jpg";
            metaData.MimeType = "image/jpeg";
            meta.MetaData     = metaData;

            await responseStream.WriteAsync(meta);

            var kitty = Path.Combine(_env.ContentRootPath, "kitty.jpg");

            using var reader = new FileStream(kitty, FileMode.Open);

            int chunkSize = 100;
            int bytesRead;

            byte[] buffer   = new byte[chunkSize];
            int    position = 0;
            long   length   = reader.Length;

            while ((bytesRead = await reader.ReadAsync(buffer, 0, buffer.Length)) > 0)
            {
                var reply = new MessageReply();
                var chunk = new ImageChunk();
                chunk.Length = bytesRead;
                chunk.Data   = ByteString.CopyFrom(buffer);
                reply.Chunk  = chunk;

                await responseStream.WriteAsync(reply);

                position += bytesRead;
                Console.WriteLine(position);
            }
            reader.Close();
            Console.WriteLine("Done");
        }
Пример #11
0
 public override Task <PingResult> Ping(Google.Protobuf.WellKnownTypes.Empty request, ServerCallContext context)
 {
     return(Task.FromResult(new PingResult {
         Result = PingReturn
     }));
 }
Пример #12
0
 public override Task <PingResult> Ping(Google.Protobuf.WellKnownTypes.Empty request, ServerCallContext context)
 {
     return(Task.FromResult(new PingResult {
         Result = "Pong from a service that would be part of a classic nTier"
     }));
 }
Пример #13
0
        public void Logout()
        {
            var empty = new Google.Protobuf.WellKnownTypes.Empty();

            _accountClient.Logout(empty);
        }