Существует ли механизм совместного использования служебных зависимостей, зарегистрированных между двумя серверами 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-линии / конечной точки.
Возможно ли это?