У меня есть несколько типов, зарегистрированных в Autofac, и некоторые из них довольно глубоки. Есть ли встроенный способ проверки того, что я могу разрешить все зарегистрированные типы? Я хочу быстро потерпеть неудачу при запуске приложения, а не через несколько минут частично.
Это то, чем я сейчас занимаюсь, и похоже, что это работает, но я все еще удивляюсь, если нет лучшего способа.
public void VerifyAllRegistrations()
{
foreach (IComponentRegistration registration in _container.ComponentRegistrations)
{
bool isNewInstance;
registration.ResolveInstance(_container, new Parameter[0], new Disposer(), out isNewInstance);
}
}
private class Disposer : IDisposer
{
public void Dispose()
{
// no-op
}
public void AddInstanceForDisposal(IDisposable instance)
{
instance.Dispose();
}
}