コード例 #1
0
        public async Task SendGames(IEnumerable <GameRecord> gameRecords)
        {
            var httpClientHandler = new HttpClientHandler();

            httpClientHandler.ServerCertificateCustomValidationCallback = HttpClientHandler.DangerousAcceptAnyServerCertificateValidator;

            var httpClient = new HttpClient(httpClientHandler);

            var channel = GrpcChannel.ForAddress("https://localhost:5001", new GrpcChannelOptions {
                HttpClient = httpClient
            });
            var client = new Games.GamesClient(channel);

            foreach (var gameRecord in gameRecords)
            {
                var reply = await client.CreateGameAsync(new CreateGameRequest
                {
                    GameId    = gameRecord.GameId.ToString(),
                    Developer = gameRecord.Developer,
                    Genre     = gameRecord.Genre,
                    Modes     = gameRecord.Modes,
                    Name      = gameRecord.Name,
                    Publisher = gameRecord.Publisher,
                    Series    = gameRecord.Series,
                    Title     = gameRecord.Title,
                    Year      = gameRecord.Year ?? 1900,
                    Relase    = new GameRelease
                    {
                        Mvs = gameRecord.MVSDateTime()?.Ticks ?? 0,
                        Aes = gameRecord.AESDateTime()?.Ticks ?? 0,
                        Cd  = gameRecord.CDDateTime()?.Ticks ?? 0
                    }
                });
            }
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: adityapan/CSharp-3.1-Grpc
        static async Task Main(string[] args)
        {
            //Testing Greeter
            // var input = new HelloRequest{ Name = "Alex"};
            // var channel = GrpcChannel.ForAddress("https://localhost:5001");
            // var client = new Greeter.GreeterClient(channel);
            //
            // var reply = await client.SayHelloAsync(input);
            //
            // Console.WriteLine(reply.Message);

            //Testing Games
            var input1 = new OsRequest {
                UserId = 235
            };
            var input2 = new OsRequest {
                UserId = 234
            };
            var channel = GrpcChannel.ForAddress("https://localhost:5001");
            var client  = new Games.GamesClient(channel);

            var reply1 = await client.GetUserOsAsync(input1);

            var reply2 = await client.GetUserOsAsync(input2);

            Console.WriteLine(reply1.Useros);
            Console.WriteLine(reply2.Useros);

            using (var newGamesCall = client.GetNewGames(new NewGamesRequest()))
            {
                while (await newGamesCall.ResponseStream.MoveNext())
                {
                    var currentGame = newGamesCall.ResponseStream.Current;

                    Console.WriteLine($"{currentGame.Name} {currentGame.Price} \nGraphics Card Required: {currentGame.Requirement.NeedsGraphicsCard}");
                }
            }

            Console.ReadLine();
        }