Skip to content

Instantly share code, notes, and snippets.

@ShawInnes
Last active January 3, 2016 15:48
Show Gist options
  • Save ShawInnes/8484792 to your computer and use it in GitHub Desktop.
Save ShawInnes/8484792 to your computer and use it in GitHub Desktop.
ASP.NET AutoFac Config
public class AutofacConfig
{
public static void Register()
{
var builder = new ContainerBuilder();
var assembly = Assembly.GetExecutingAssembly();
builder.RegisterModelBinders(assembly);
builder.RegisterModelBinderProvider();
//builder.RegisterHubs(assembly);
builder.RegisterControllers(assembly).PropertiesAutowired();
builder.RegisterApiControllers(assembly).PropertiesAutowired();
builder.RegisterModule<AutofacWebTypesModule>();
builder.RegisterModule<NLogLoggerAutofacModule>();
builder.RegisterModule<AutofacFluentValidationModule>();
builder.RegisterAssemblyTypes(assembly).Where(t => t.Name.EndsWith("Service")).AsImplementedInterfaces();
builder.RegisterType<OrderDbContext>().As<IOrderDbContext>();
IContainer container = builder.Build();
//container.ActivateGlimpse();
// MVC dependency resolver
DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
// WebAPI dependency resolver
GlobalConfiguration.Configuration.DependencyResolver = new AutofacWebApiDependencyResolver(container);
// SignalR dependency resolver
//GlobalHost.DependencyResolver = new Autofac.Integration.SignalR.AutofacDependencyResolver(container);
// Set up the FluentValidation provider factory and add it as a Model validator
var fluentValidationModelValidatorProvider = new FluentValidationModelValidatorProvider(new AutofacValidatorFactory(container));
DataAnnotationsModelValidatorProvider.AddImplicitRequiredAttributeForValueTypes = false;
fluentValidationModelValidatorProvider.AddImplicitRequiredValidator = false;
ModelValidatorProviders.Providers.Add(fluentValidationModelValidatorProvider);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment