您目前尚未登陆,请选择【登陆】或【注册
首页->博客论坛->NBear+NBear开发BBS系统源码>>Factory/DependencyProvider.cs>>源码在线查看
温馨提示:代码在线浏览功能只能做为源码浏览参考,如果想更进一步了解该代码请下载:NBear+NBear开发BBS系统源码
当前文件:文件类型 NBBS/Factory/DependencyProvider.cs打开代码结构图
普通视图
		            
1using System; 2using System.Configuration; 3using System.Reflection; 4using System.Web; 5using System.Web.Caching; 6 7namespace NBBS.Factory 8{ 9 /// <summary> 10 /// 依赖注入提供者 11 /// 使用反射机制实现 12 /// </summary> 13 public sealed class DependencyProvider 14 { 15 /// <summary> 16 /// 取得数据访问层对象 17 /// 首先检查缓存中是否存在,如果不存在,则利用反射机制返回对象 18 /// </summary> 19 /// <param name="className">数据访问类名称</param> 20 /// <returns>数据访问层对象</returns> 21 public static object GetDALObject(string className) 22 { 23 /// <summary> 24 /// 取得数据访问层名称,首先检查缓存,不存在则到配置文件中读取 25 /// 缓存依赖项为Web.Config文件 26 /// </summary> 27 object dal = CacheAccess.GetFromCache("DAL"); 28 if (dal == null) 29 { 30 CacheDependency fileDependency = new CacheDependency(HttpContext.Current.Server.MapPath("Web.Config")); 31 dal = ConfigurationManager.AppSettings["DAL"]; 32 CacheAccess.SaveToCache("DAL", dal, fileDependency); 33 } 34 35 string dalName = (string)dal; 36 37 /// <summary> 38 /// 取得数据访问层对象,首先检查缓存,不存在则利用反射机制加载 39 /// 缓存依赖项为Web.Config文件 40 /// </summary> 41 string fullClassName = dalName + "." + className; 42 object dalObject = CacheAccess.GetFromCache(className); 43 if (dalObject == null) 44 { 45 CacheDependency fileDependency = new CacheDependency(HttpContext.Current.Server.MapPath("Web.Config")); 46 dalObject = Assembly.Load(dalName).CreateInstance(fullClassName); 47 CacheAccess.SaveToCache(className, dalObject, fileDependency); 48 } 49 50 return dalObject; 51 } 52 53 /// <summary> 54 /// 取得业务逻辑层对象 55 /// 首先检查缓存中是否存在,如果不存在,则利用反射机制返回对象 56 /// </summary> 57 /// <param name="className">业务逻辑类名称</param> 58 /// <returns>业务逻辑层对象</returns> 59 public static object GetBLLObject(string className) 60 { 61 /// <summary> 62 /// 取得业务逻辑层名称,首先检查缓存,不存在则到配置文件中读取 63 /// 缓存依赖项为Web.Config文件 64 /// </summary> 65 object bll = CacheAccess.GetFromCache("BLL"); 66 if (bll == null) 67 { 68 CacheDependency fileDependency = new CacheDependency(HttpContext.Current.Server.MapPath("Web.Config")); 69 bll = ConfigurationManager.AppSettings["BLL"]; 70 CacheAccess.SaveToCache("BLL", bll, fileDependency); 71 } 72 73 string bllName = (string)bll; 74 75 /// <summary> 76 /// 取得业务逻辑层对象,首先检查缓存,不存在则利用反射机制加载 77 /// 缓存依赖项为Web.Config文件 78 /// </summary> 79 string fullClassName = bllName + "." + className; 80 object bllObject = CacheAccess.GetFromCache(className); 81 if (bllObject == null) 82 { 83 CacheDependency fileDependency = new CacheDependency(HttpContext.Current.Server.MapPath("Web.Config")); 84 bllObject = Assembly.Load(bllName).CreateInstance(fullClassName); 85 CacheAccess.SaveToCache(className, bllObject, fileDependency); 86 } 87 88 return bllObject; 89 } 90 } 91} 92
还没有找到您心仪的内容?请用.net源码大搜捕
代码片断 打包下载该项目完整源码:NBear+NBear开发BBS系统源码
51Aspx.com 版权所有 CopyRight © 2000-2008. 京ICP备06046876号