Клиент Grpc .Net не может подключиться к серверу с SSL - PullRequest
0 голосов
/ 27 сентября 2019

Невозможно подключиться к службе greeter grpc, упомянутой в этой ссылке - https://docs.microsoft.com/en-us/aspnet/core/tutorials/grpc/grpc-start?view=aspnetcore-3.0 из клиента greeter, написанного из приложения .net framework с использованием библиотек grpc.core (Grpc.Core.2.24.0 и Grpc.Core.Api.2.24.0).Ниже мой код клиента.Он работает с не SSL, но не с SSL

Код клиента с не SSL (это работает) var channel = new Channel ("localhost: 5000", ChannelCredentials.Insecure);var client = новый Greeter.GreeterClient (канал);var reply = await client.SayHelloAsync (new HelloRequest {Name = "GreeterClient"});channel.ShutdownAsync (). Wait ();

Код клиента с SSL (соединение не устанавливается) SslCredentials secureChannel = new SslCredentials ();var channel = новый канал ("localhost", 5001, secureChannel);var client = новый Greeter.GreeterClient (канал);var reply = await client.SayHelloAsync (new HelloRequest {Name = "GreeterClient"});channel.ShutdownAsync (). Wait ();

Ниже приведена ошибка, которую я получаю с SSL Grpc.Core.RpcException: 'Status (StatusCode = Unavailable, Detail = "не удалось подключиться ко всем адресам")'

Я пытался с клиентом приложения ядра .net, упомянутым в той же ссылке (https://docs.microsoft.com/en-us/aspnet/core/tutorials/grpc/grpc-start?view=aspnetcore-3.0), который работает с SSL и без SSL, но не с использованием библиотек grp напрямую. Мой клиент - клиент .Net Framework, которыйявляется причиной того, что я не могу использовать библиотеки .net для подключения к сервису grpc. Библиотеки gr .c .Net поддерживаются только из основного приложения .net.

SslCredentials secureChannel = new SslCredentials (); var channel = new Channel ("localhost", 5001, secureChannel); var client = новый Greeter.GreeterClient (канал); var reply = ожидание client.SayHelloAsync (new HelloRequest {Name = "GreeterClient"}); channel.ShutdownAsync (). Wait ();

Ожидаемый результат - ответ от сервера. Фактический результат - Grpc.Core.RpcException: 'Status (StatusCode = Unavailable, Detail = "не удалось подключиться ко всем адресам")'

...