Обмен услугами между экземплярами Kestrel - PullRequest
1 голос
/ 25 апреля 2020

Существует ли механизм совместного использования служебных зависимостей, зарегистрированных между двумя серверами Kestrel, работающими в одном процессе?

Я бы очень хотел разделить некоторые конечные точки поддержки бэкэнда на одном порту, в то время как основное приложение работает на другом.

Из того, что я знаю, .UseUrls("http://*:80", "http://*:8080") предоставит 2 порта для одного экземпляра Kestrel и конвейера HTTP, что не совсем то, что я хочу.

Учитывая структуру, подобную этой

Kestrel on :80
   /api/... - normal api 
   /ping - liveness checks
Kestrel on :8080
   /health - health checks
   /metrics - metrics

Я знаю, что у меня может быть общий метод Configure(IServiceCollection serviceCollection), регистрирующий общие части, но IServiceCollection выдаст совершенно отдельный IServiceProvider.

Я хотел бы зарегистрировать службы для обоих серверы для использования с одного и того же root IServiceProvider, но с другой конфигурацией HTTP-линии / конечной точки.

Возможно ли это?

...