@Quttar72
Изучаю asp.net core mvc

Как задать для эндпоинта используемый протокол?

Мое приложение использует как веб-сокеты, так и GRPC соединения. Проблема в том, что для того, чтобы работало соединение по GRPC в appsettings.json должен быть задан протокол http2:
{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
  "AllowedHosts": "*",
  "Kestrel": {
    "EndpointDefaults": {
      "Protocols": "Http2"
    }
  }
}


А для того, чтобы принимать соединения по сокетам, видимо нужен только http1, поэтому я указываю http1andhttp2 (Это специальное значение определенное microsoft). Но при этом все равно grpc перестает работать, и в ошибках проблемой указывается как http1.

Как я понимаю, мне нужно задать для подключений GRPC именованный эндпоинт и каким-то образом в конфигурации указать в протоколах для него http2. Я почитал документацию и попробовал различные способы, но в итоге просто перестает запускаться приложение. Уверен, что я просто не корректно настраиваю. Можете ли подсказать, как мне задать протокол для GRPC, который на данный момент подключается так: app.MapGrpcService<GreeterService>();
  • Вопрос задан
  • 88 просмотров
Решения вопроса 1
yarosroman
@yarosroman Куратор тега C#
C# the best
https://github.com/dotnet/aspnetcore/issues/18476 Вроде тут есть решение
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы