asp.netunity 프로필 ioc di 구현

10115 단어 c#.net
nuget 패키지 다운로드
Nuget: unity.configuration , unity ,unity.abstractions , unity.interception , unity.interception.configuration (이것은 반드시 다운로드해야 합니다. 그렇지 않으면 프로필을 읽을 수 없습니다.)
web
웹 층 (하나의 유닛 용기만 있는 단일 예로 만들 수 있음)
ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap();
  
            fileMap.ExeConfigFilename = "UNITY.Config";//        
            Configuration configuration = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None);
            UnityConfigurationSection section = (UnityConfigurationSection)configuration.GetSection(UnityConfigurationSection.SectionName);
            IUnityContainer container = new UnityContainer();
            section.Configure(container, "kso");
            IUSERBLL ss = container.Resolve<IBLL.IUSERBLL>();
            ss.Show();
            Console.ReadKey();

bll층
웹 인용 업무층 및 인터페이스층 그리고dal층 그렇지 않으면 실례화할 수 없다
		 [Dependency] //        public      
        public Istudentdal Istudentd {
      get; set; }

        [InjectionConstructor]//       ,    ,       
        public USERBLL(IUSERDAL uSERDAL) {
     
            string usedal = uSERDAL.stu();
            uSERDAL.show(); Console.WriteLine("bll    cUSERBLL");
        }
        public void create()
        {
     
            Console.WriteLine("bll    create");
        }

        public void Show()
        {
     
            Istudentd.show();
            Istudentd.stushows(); Console.WriteLine("bll    USERBLL  Show");
        }

dal층
위와 차이가 많지 않다. 인터페이스와 실현...생략하다
웹 프로필

<configuration>
  <configSections>
    <section name="unity" type="Microsoft.Practices.Unity.Configuration.UnityConfigurationSection, Unity.Configuration"/>
  </configSections>
  <unity>
    <sectionExtension type="Microsoft.Practices.Unity.InterceptionExtension.Configuration.InterceptionConfigurationExtension, Unity.Interception.Configuration"/>
    <containers>

      <container name="kso">
        <register type="IBLL.IUSERBLL,IBLL" mapTo="BLL.USERBLL,BLL"/>
        <register type="IDAL.Istudentdal,IDAL" mapTo="DAL.studentdal,DAL"  />
        <register type="IDAL.IUSERDAL,IDAL" mapTo="DAL.USERDAL,DAL" />
      </container>
    </containers>
  </unity>
</configuration>

좋은 웹페이지 즐겨찾기