Попробуйте это для регистрации
public class DataAccessModule : UnityContainerExtension
{
protected override void Initialize()
{
this.Container.RegisterType<DataContextFactory>(new HttpContextLifetimeManager(),
new InjectionFactory(c => new DataContextFactory("DefaultConnection")));
this.Container.RegisterType<DataContext>(
new InjectionFactory(c => c.Resolve<DataContextFactory>().GetContext()));
this.Container.RegisterType(typeof(IRepository<>), typeof(Repository<>));
}
}
Образец для HttpContextLifetimeManager
можно найти здесь .
Вам необходимо добавить DataAccessModule
в свой контейнер в корне композиции.
container.AddNewExtension<DataAccessModule>();