标签:configure container 修改 新建 webconfig bsp manager 理解 string
Unity注入技术,我决定最大的作用在于一个项目,尤其是WEB项目在更远其中一个类时,不需要重新生成,直接通过WEBCONFIG文件的修改就可以更改对应关系和功能,实验步骤如下:
1:新建一个接口ISpeak
2 : 新建两个类分别是speak1和speak2,都实现ISpeak
3:在webconfig的<configSections>中添加:<section name="unity" type="Microsoft.Practices.Unity.Configuration.UnityConfigurationSection,Microsoft.Practices.Unity.Configuration"/>
4:在webconfig中设置对应关系:
<unity>
<aliases>
<add alias="ISpeak" type="IBLL.ISpeak,IBLL"/>
<add alias="speak1" type="BLL.speak1,BLL"></add>
<add alias="speak2" type="BLL.Speak2,BLL"></add>
</aliases>
<container name="MyContainer">
<register type="ISpeak" mapTo="speak2"></register>
</container>
</unity>
5:在网页输出时读取配置文件:
IUnityContainer container = new UnityContainer();
UnityConfigurationSection section = (UnityConfigurationSection)ConfigurationManager.GetSection("unity");//获取指定名称的配置节
section.Configure(container, "MyContainer");//获取特定配置节下已命名的配置节<container name=‘MyContainer‘>下的配置信息
ISpeak speak1 = container.Resolve<ISpeak>();
string show = speak1.Speak();
ViewData["speak"] = show;
return View();
6:前台页面输出 @ViewData["speak"]
7:更改webconfig:<register type="ISpeak" mapTo="speak1"></register>
8:刷新页面,这是@ViewData["speak"]显示的数据已经成为speak1中的数据了
标签:configure container 修改 新建 webconfig bsp manager 理解 string
原文地址:http://www.cnblogs.com/sunlining/p/6420518.html