asp.netunity 프로필 ioc di 구현
10115 단어 c#.net
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>
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
c\#.net 상용 함수 와 방법 집합텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.