UnityIocHelper 帮助类
2018-01-07 21:23
204 查看
public class UnityIocHelper : IServiceProvider { private readonly IUnityContainer _container; private static readonly UnityIocHelper dbinstance = new UnityIocHelper("DBcontainer"); private UnityIocHelper(string containerName) { UnityConfigurationSection section = (UnityConfigurationSection)ConfigurationManager.GetSection("unity"); _container = new UnityContainer(); section.Configure(_container, containerName); //section.Configure(_container); } public static string GetmapToByName(string containerName,string itype, string name = "") { try { UnityConfigurationSection section = (UnityConfigurationSection)ConfigurationManager.GetSection("unity"); var _Containers = section.Containers; foreach (var _Container in _Containers) { if (_Container.Name == containerName) { var _Registrations = _Container.Registrations; foreach (var _Registration in _Registrations) { if (name == "" && string.IsNullOrEmpty(_Registration.Name) && _Registration.TypeName == itype) { return _Registration.MapToName; } } break; } } return ""; } catch { throw; } } public static UnityIocHelper DBInstance { get { return dbinstance; } } public object GetService(Type serviceType) { return _container.Resolve(serviceType); } public T GetService<T>() { return _container.Resolve<T>(); } public T GetService<T>(params ParameterOverride[] obj) { return _container.Resolve<T>(obj); } public T GetService<T>(string name, params ParameterOverride[] obj) { return _container.Resolve<T>(name,obj); } }
调用方法:
/// <summary> /// 连接数据库 /// </summary> /// <param name="connString">连接字符串</param> /// <param name="DbType">数据库类型</param> /// <returns></returns> public static IDatabase Base(string connString, DatabaseType DbType) { DbHelper.DbType = DbType; return UnityIocHelper.DBInstance.GetService<IDatabase>(new ParameterOverride( "connString", connString), new ParameterOverride( "DbType", DbType.ToString())); }
相关文章推荐
- UnityIocHelper 帮助类
- IOC注入框架——Unity初步
- ASP.NET MVC IOC之Unity攻略
- 总结Unity IOC容器通过配置实现类型映射的几种基本使用方法
- JQuery选择器大全 前端面试送命题:面试题篇 对IOC和DI的通俗理解 c#中关于协变性和逆变性(又叫抗变)帮助理解
- IOC容器——Unity深度解析(三)
- ASP.NET MVC中的依赖倒置IOC/依赖注入DI, (MircroSoft.Practices.Unity)与asp.net mvc 3的融合
- .net开发中MysqlHelper帮助类
- MVC 自定义HtmlHelper帮助类型之分页
- 深入理解IOC模式及Unity框架
- JSONHelper JSON帮助类
- Android中Helper帮助类
- [IoC容器Unity]第一回:Unity预览
- Net Unity IOC注入总结
- ASP.NET MVC如何使用Unity实现Ioc详解
- Unity IOC注入详细配置(MVC,WebApi)
- [IoC容器Unity]第一回:Unity预览
- Unity Shader 帮助文档
- .net web api ioc unity usage
- Unity IOC 生命周期(MVC3.0)