Grp c несколько клиентов с их собственными потоковыми запросами, вызывающими серверный метод grp c, если используется> 1 клиент - PullRequest
2 голосов
/ 16 января 2020

Я создаю 2 клиента для вызова 2 разных серверов с потоковыми запросами.

// First client call

using var httpClient1 = new HttpClient(httpClientHandler);
using var channel1 = GrpcChannel.ForAddress("https://127.0.0.1:4555", new GrpcChannelOptions {HttpClient = httpClient1});
var grpcClient1 = new MyGrpc.GrpcClient(channel1);

// Invoked grpcClient1 method

// Second client call

using var httpClient2 = new HttpClient(httpClientHandler);
using var channel2 = GrpcChannel.ForAddress("https://127.0.0.1:5555", new GrpcChannelOptions {HttpClient = httpClient2});
var grpcClient2 = new MyGrpc.GrpcClient(channel2);

// Invoked grpcClient2 method

Я ожидал увидеть результаты от 2 клиентов. Вместо этого я увидел, что 1 клиент работает успешно, 2 клиента не удается

Status (StatusCode = Internal, Detail = "")

первый из них успешно вызывается.
Второй сбой с исключением: «Ошибка запуска gRP C вызов: соединение SSL не может быть установлено»

Если я прокомментирую первый вызов, вызов второго вызова будет выполнен успешно.
Если я раскомментирую первый вызов, вызов второго вызова завершится неудачей.

Устранение неполадок не помогло, ни один из параметров отладки не обнаружился во время отладки.

...