Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Assembly executingAssembly = Assembly.GetExecutingAssembly();
builder.RegisterControllers(executingAssembly).HttpRequestScoped();
builder.RegisterAssemblyTypes(
typeof (SomeClass).Assembly,
typeof (OtherClassFromDifferentAssembly).Assembly,
typeof (AnotherClassOfThirdAssembly).Assembly,
executingAssembly);
builder.RegisterAssemblyTypes(executingAssembly)
.Where(t => t.Name.EndsWith("Repository") ||
(t.FullName.StartsWith("OurApplication.Models") &&
t.GetInterfaces().Any()))
.AsImplementedInterfaces();
var servicesAssembly = Assembly.GetAssembly(typeof (IService));
foreach (var type in servicesAssembly.GetTypes()
.Where(t => t.Name.EndsWith("Service") && t.IsClass))
{
var interfaceType = type.GetInterfaces().FirstOrDefault(i => i.Name.EndsWith("Service") && !(i.Namespace ?? string.Empty).EndsWith("Base"));
if (interfaceType != null)
{
container.RegisterType(interfaceType, type);
}
}
Dependency injection в MVC 3 Framework на примере Autofac