public static void Main()
        {
            Channel channel = new Channel("127.0.0.1:50051", ChannelCredentials.Insecure);

            var client = new Service.Import.ImportClient(channel);

            var opt = new CallOptions();//.WithHeaders(Metadata.Empty);

            var stream = client.Import(opt);
            var r      = new ImportRequest();

            r.Source      = new Row();
            r.Source.Data = Google.Protobuf.ByteString.CopyFromUtf8("test1234");

            Console.WriteLine("Client sending request");
            stream.RequestStream.WriteAsync(r).Wait();
            stream.ResponseStream.MoveNext(new CancellationToken()).Wait();
            Console.WriteLine("Client got response: " + stream.ResponseStream.Current.ToString());

            ///cleanup
            channel.ShutdownAsync().Wait();
        }
示例#2
0
        public static async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req,
            ILogger log)
        {
            // //server
            // Server server = new Server
            // {
            //     Services = { Service.Import.BindService(new ImportImpl()) },
            //     Ports = { new ServerPort("localhost", 50051, ServerCredentials.Insecure) }
            // };
            // server.Start();
            // Console.WriteLine("Server started");

            Channel channel = new Channel("127.0.0.1:50051", ChannelCredentials.Insecure);

            var client = new Service.Import.ImportClient(channel);

            var opt = new CallOptions(Metadata.Empty);//.WithHeaders(Metadata.Empty);


            var stream = client.Import(opt);
            var r      = new ImportRequest();

            r.Source      = new Row();
            r.Source.Data = Google.Protobuf.ByteString.CopyFromUtf8("test1234");

            Console.WriteLine("Client sending request");
            stream.RequestStream.WriteAsync(r).Wait();
            stream.ResponseStream.MoveNext(new CancellationToken()).Wait();
            Console.WriteLine("Client got response: " + stream.ResponseStream.Current.ToString());

            ///cleanup
            channel.ShutdownAsync().Wait();
            // server.ShutdownAsync().Wait();

            return(new EmptyResult());
        }