Nugget AutoFac, AutoFac.MVC3 and Log4Net into a MVC3 project
Create a Module to register
public class ApplicationModule : Module
{
protected override void Load(ContainerBuilder builder)
{
// builder.RegisterInstance(LogManager.GetLogger("TheInstance"));
}
protected override void AttachToComponentRegistration(Autofac.Core.IComponentRegistry componentRegistry, Autofac.Core.IComponentRegistration registration)
{
registration.Preparing += registration_Preparing;
}
static void registration_Preparing(object sender, Autofac.Core.PreparingEventArgs e)
{
var t = e.Component.Activator.LimitType;
e.Parameters = e.Parameters.Union(
new[]
{
new ResolvedParameter((p, i) => p.ParameterType == typeof(ILog), (p, i) => LogManager.GetLogger(t))
}
);
}
}
Create Container, Register, Build and setResolver
protected void Application_Start()
{
...
var builder = new ContainerBuilder();
builder.RegisterControllers(typeof(MvcApplication).Assembly);//Assembly.GetExecutingAssembly());
builder.RegisterModule(new ApplicationModule());
var container = builder.Build();
DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
}
Inject into COnstructor
public class HomeController : Controller
{
public HomeController(ILog log)
{
Blog Archive
-
▼
2012
(34)
-
▼
July
(9)
- Parallel.For vs. Synchronization using ManualReset...
- Implement Asyn WCF using Task in .Net 4.0
- High Performance WPF/WCF
- WPF Prism MVVM using Unity and Mef
- Trading Signals from EMA and RSI
- Interesting javascript code
- State Machine Desing Pattern
- IoC inject data into DropDownListFor
- Using AutoFac IocContainer to inject Log4Net into ...
-
▼
July
(9)
Monday, July 2, 2012
Using AutoFac IocContainer to inject Log4Net into MVC3
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment