Как подключиться к удаленному сервису gRP C - PullRequest
2 голосов
/ 11 февраля 2020

Я создал службу gRP C и клиент в C#. NET Core 3.1. Когда я развертываю сервис на localhost, я могу подключиться к нему без проблем. Но когда я публикую sh службу в IIS через WebDeploy и запускаю ее там, я не могу подключиться к ней.

Для локального развертывания канал инициализируется следующим образом:

var channel = GrpcChannel.ForAddress("https://localhost:5001");

Для удаленного развертывания я изменяю его на следующее значение, поскольку оно запускается как служба HTTP на http://localhost:5000 на удаленной машине (которую я также не смог выяснить, как изменить - я бы предпочел это для запуска в качестве службы HTTPS):

AppContext.SetSwitch("System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport", true);
var channel = GrpcChannel.ForAddress("http://1.2.3.4:5000");

1.2.3.4 - это IP-адрес удаленного компьютера, который я могу пропинговать. Я также создал правило брандмауэра, разрешающее весь входящий трафик c на входящий порт 5000.

. При первом удаленном вызове клиентское приложение завершается с сообщением об ошибке

A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond

Я не понимаю, какие меры я должен предпринять, чтобы создать соединение с удаленной службой. Все примеры кода gRP C, которые я нашел до сих пор, используют localhost в качестве точки развертывания и не помогли мне выяснить причину root моей проблемы.

Любая помощь или указатели на то, что я должен пропустили ценится.

1 Ответ

2 голосов
/ 12 февраля 2020

Из Учебное пособие: создание клиента и сервера gRP C в ASP. NET Core , предупреждение почти в конце статьи гласит:

ASP. NET Core gRP C в настоящее время не поддерживается в Azure Службе приложений или IIS. HTTP / 2-реализация Http.Sys не поддерживает концевые заголовки HTTP-ответов, на которые полагается gRP C ...

Пожалуйста, обратитесь к gRP C при производстве способы запуска службы gRP C на производстве.

...