Доступ к зарегистрированному объекту в классе Nancy Startup
Я пишу сервис в Нэнси и использую некоторое промежуточное ПО для мониторинга сервиса:
app.UseOwin(buildFunc =>
{
var log = ConfigureLogger();
buildFunc.UseMonitoringAndLogging(log, HealthCheck);
buildFunc.UseNancy();
});
Промежуточное программное обеспечение настроено на использование HealthCheck()
функция, определенная в Startup
Класс как:
public async Task<bool> HealthCheck()
{
return await SomeRepo.HealthCheck();
}
SomeRepo
имеет HealthCheck()
метод, который запрашивает базу данных, чтобы подтвердить, что она доступна / отвечает. Но как вводить SomeRepo
в Startup
класс или, альтернативно, получить доступ к контейнеру для разрешения SomeRepo
?
1 ответ
На данный момент вы все еще находитесь в Оуэне, а не в конвейере Нэнси. На каком хосте вы работаете? Если вы используете aspnetcore
вы можете зарегистрировать свои депо в RegisterServices()
метод, и он будет обрабатывать инъекцию в ваш метод. Ты можешь использовать Autofac
или же StructureMap
так что вы можете поделиться своим контейнером с Нэнси, как это.