当前位置: 代码迷 >> ASP.NET >> unity依赖注入容器有关问题!
  详细解决方案

unity依赖注入容器有关问题!

热度:1207   发布时间:2013-02-25 00:00:00.0
unity依赖注入容器问题!!!!!!!!!!!
C# code
public Test()        {                     IUnityContainer unityContainer = new UnityContainer();            unityContainer.RegisterType<DbContext, Model.DefaultDbContext>("DefaultDbContext");            var dbContext = unityContainer.Resolve<DbContext>("DefaultDbContext");}


问题来了,容器应该在什么地方实例化呢,不可能在使用实例的地方实例化容器并注册映射吧

把容器写成静态的?

public static IUnityContainer UnityContainer??

------解决方案--------------------------------------------------------
加一个成员变量:
C# code
private IUnityContainer  unityContainer = null;
------解决方案--------------------------------------------------------
直接一个静态只读

C#单例=静态只读

上面这个等的也不知道是不是有问题,但是我确实在一本《.net面试宝典》的书上见过单例模式的写法
static readOnly


------解决方案--------------------------------------------------------
也可以写在Gloable.asax
------解决方案--------------------------------------------------------
嗯,改了昵称过来,灌水。
------解决方案--------------------------------------------------------
C# code
        private const string AppContainerKey = "APPLICATION_CONTAINER";        protected void Application_Start(object sender, EventArgs e)        {            IUnityContainer applicationContainer = new UnityContainer();            applicationContainer.LoadConfiguration();            ApplicationContainer = applicationContainer;        }        public IUnityContainer ApplicationContainer        {            get            {                return (IUnityContainer)this.Application[AppContainerKey];            }            set            {                this.Application[AppContainerKey] = value;            }        }//使用 namespace.ApplicationContainer得到实例
  相关解决方案