Инициализация контейнера:
public override void Initialize()
{
ObjectFactory.Initialize(x =>
{
x.Scan(s =>
{
s.TheCallingAssembly();
s.AssemblyContainingType<IRegistar>();
s.WithDefaultConventions();
});
});
}
Global.asax.xc
var dependencyContainer = new DependencyContainer();
dependencyContainer.Initialize();
ControllerBuilder.Current.SetControllerFactory(new DependencyControllerFactory());
Экземпляр Get:
public class DependencyControllerFactory : DefaultControllerFactory
{
protected override IController GetControllerInstance(RequestContext requestContext, Type controllerType)
{
if (controllerType == null)
{
return base.GetControllerInstance(requestContext, controllerType);
}
try
{
return ObjectFactory.GetInstance(controllerType) as Controller;
}
catch (StructureMapException exception)
{
Debug.WriteLine(ObjectFactory.WhatDoIHave());
throw;
}
}
}
Контроллер
частный IBabyRepository _babyReposoitory;{
public BabyController(IBabyRepository babyRepository)
{
_babyReposoitory = babyRepository;
}
Класс пытается DI / Ioc
public class BabyRepository : IBabyRepository, IRepository<Baby>, IRegistar
{
Just a Default constructor here();
code...
}
Ошибка:
Код исключения StructureMap:202 Не определен экземпляр по умолчанию для PluginFamily Domain.Repository.IBabyRepository, Домен, Версия = 1.0.0.0, Культура = нейтральный, PublicKeyToken = ноль
Me
Что яделать неправильно?