Using property injection instead of constructor injection

后端 未结 5 1046
时光取名叫无心
时光取名叫无心 2021-01-04 09:47

Long story short, I\'m trying to use ELMAH with MVC 2 and Ninject, and I need to use parameterless constructors. I created an initial post about it here: Using a parameterle

5条回答
  •  Happy的楠姐
    2021-01-04 10:16

    Try something like this:

    Global.asax.cs

            protected void Application_Start()
            {
                DependencyResolver.SetResolver(
                    new MyDependencyResolver(
                        new StandardKernel(
                            new MyModule())));
                //...
            }
    

    MyDependencyResolver.cs

        public class MyDependencyResolver : IDependencyResolver
        {
            private IKernel kernel;
    
            public MyDependencyResolver(IKernel kernel)
            {
                this.kernel = kernel;
            }
    
            public object GetService(Type serviceType)
            {
                return kernel.TryGet(serviceType);
            }
    
            public IEnumerable GetServices(Type serviceType)
            {
                return kernel.GetAll(serviceType);
            }
        }
    
    
    

    MyModule.cs

        public class MyModule : NinjectModule
        {
            public override void Load()
            {
                Bind().To();
            }
        }
    

    提交回复
    热议问题