Итак, я пытаюсь создать основное приложение. Net, которое имеет REST и gRP C.
Ожидаемые результаты: Иметь одно работающее приложение, поддерживающее работающий REST на одном порту и gRP C на другом.
REST очень просто. Это где приложение начинается. Но чтобы настроить порт gRP C, я увидел, что мне нужно создать экземпляр сервера:
Server server = new Server
{
Services = { Greeter.BindService(new GreeterImpl()) }
Ports = { new ServerPort("0.0.0.0", 5001, ServerCredentials.Insecure) }
};
server.Start();
Это нормально, пока мы фактически не используем его, и, как и любому другому «контроллеру», GreeterImpl требует внедрения зависимостей из служб:
private readonly IExampleService _exampleService;
public GreeterImpl (IExampleService exampleService)
{
_exampleService = exampleService;
}
Теперь первый фрагмент кода не будет работать, так как для "нового GreeterImpl ()" требуется IExampleService. Я искал в Интернете, как получить ServerServiceDefinition (вещь, возвращенную из Greeter.BindService ()) без использования конкретных реализаций, но ничего не нашел. Итак, как это сделать или я нахожусь на совершенно неверном пути?