Мое приложение использует как веб-сокеты, так и 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>();