关于读取Unity 配置的方案
2010-11-12 11:16
288 查看
Unity 是常用的Ioc 工具
一般情况下用一个 xml来对Unity 进行配置
常见方案有两种,一种是将配置写入到app.config/web.config
我们假设现有接口 ILogger 实现此接口的类分别为SpecialLogger 和CommonLogger 对象
假设我们的工程项目叫做SSHConsole (生成的assembly 也是 SSHConsole.dll)
之后在Program 里调用的话,十分简单
一般情况下用一个 xml来对Unity 进行配置
常见方案有两种,一种是将配置写入到app.config/web.config
我们假设现有接口 ILogger 实现此接口的类分别为SpecialLogger 和CommonLogger 对象
假设我们的工程项目叫做SSHConsole (生成的assembly 也是 SSHConsole.dll)
<unity xmlns="http://schemas.microsoft.com/practices/2010/unity"> <alias alias="ILogger" type="SSHConsole.ILogger,SSHConsole" /> <namespace name="SSHConsole"/> <assembly name="SSHConsole" /> <container> <register type="ILogger" mapTo="SpecialLogger"/> </container> </unity>
之后在Program 里调用的话,十分简单
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; using System.Data.OleDb; using System.Data; using System.Configuration; using Microsoft.Practices.Unity; using Microsoft.Practices.Unity.Configuration; namespace SSHConsole { class Program { static void Main(string[] args) { //此处需要手动引用Microsoft.Practices.Unity.Configuration,才能使用LoadConfiguration扩展方法 IUnityContainer container = new UnityContainer().LoadConfiguration(); //获得默认Container容器,从web.config/app.config 配置文件中 var obj = container.Resolve<ILogger>(); //此处解除了实际对象和Program的耦合关系,Program 不需要再引用SpecialLogger obj.Logging(); Console.ReadLine(); } } }
相关文章推荐
- 关于asp.net unity框架结构无法读取配置节“unity”问题处理办法
- 使用 Unity(二):配置 Unity 、读取配置信息和获取对象
- unity 导出 android安装包配置方案
- 用户自定义配置接点读取 通用方案
- Unity下关于C#的文件读写二(文件夹的读取)
- 关于Unity的几种XML读取方式
- 关于优化lua读取游戏配置表的一些看法
- Unity Application Block--通过配置文件读取映射
- 关于读取Src下配置文件的那个传说
- Unity下关于C#的文件读写二(文件夹的读取)
- Unity 读取 Excel 表格 配置 游戏 参数
- 关于读取Src下配置文件的那个传说
- codeigniter读取数据库的公共配置并全局缓存的实现方案
- 关于Spring与mybatis整合无法读取配置文件的问题
- Unity读取 JSon配置文件
- Java 读取配置文件方案
- Unity下关于C#的文件读写二(文件夹的读取)
- 关于配置文件的读取方式.
- Java关于读取配置文件Parsing failed.的问题org.logicalcobwebs.proxool.ProxoolException: Parsing failed.
- 关于MTK平台SIM-ME Lock的配置方案