Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- at Grpc.Core.Internal.CompletionQueueSafeHandle.BeginOp()
- at Grpc.Core.Internal.CallSafeHandle.StartReceiveMessage(IReceivedMessageCallback callback)
- at Grpc.Core.Internal.AsyncCallBase`2.ReadMessageInternalAsync()
- at Grpc.Core.Internal.ClientResponseStream`2.<MoveNext>d__5.MoveNext()
- --- End of stack trace from previous location where exception was thrown ---
- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
- at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
- at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
- at GRPCTransferClient.Program.<Test>d__1.MoveNext() in Program.cs:line 25
- syntax = "proto3";
- package Mega.SplitText;
- service SplitText {
- rpc Split(Text) returns (stream Line) {}
- }
- message Text {
- string text = 1;
- }
- message Line {
- string line = 1;
- }
- public class SplitTextServiceImpl : SplitTextBase
- {
- public SplitTextServiceImpl()
- {
- }
- public override async Task Split(Text request, IServerStreamWriter<Line> responseStream, ServerCallContext context)
- {
- foreach (string line in request.Text_.Split(';'))
- {
- await responseStream.WriteAsync(new Line { Line_ = line });
- Console.WriteLine($"Sent {line}");
- }
- }
- }
- class Program
- {
- static void Main(string[] args)
- {
- var program = new Program();
- program.Test();
- }
- async void Test()
- {
- Channel channel = new Channel($"127.0.0.1:50051", ChannelCredentials.Insecure);
- var client = new SplitTextClient(channel);
- using (var response = client.Split(new Text { Text_ = "a;b;c;d;e" }))
- {
- while (await response.ResponseStream.MoveNext())
- {
- Console.WriteLine(response.ResponseStream.Current);
- }
- }
- Console.ReadLine();
- }
- }
Add Comment
Please, Sign In to add comment