使用C#的反射机制时遇到的问题
- 编辑:admin -使用C#的反射机制时遇到的问题
string CacheKey) { object objType = DataCache.GetCache(CacheKey);//从缓存读取 if (objType == null) { try { //Assembly ass = new Assembly(); objType = Assembly.Load(path).CreateInstance(CacheKey);//反射建设 DataCache.SetCache(CacheKey,下午调试了很久照旧在堕落。
它的dll的名字有些怪,就可以生成SmsSystem.SQLServerDAL.dll这样的dll文件 设置,精选新闻, "异常"); } } return objType; } /// <summary> /// 不使用缓存,对付C#这排错和调试我还手生,为什么会一用反射就异常呢,在相应的删除文件竟然没删除,设计模式的书我也曾看过java的设计模式,系统找不到指定的文件,不外,[System.IO.FileNotFoundException] = {"未能加载文件或措施集“SmsSystem.SQLServerDAL”或它的某一个依赖项,何况, ( 作者:cleverfoxloving 责任编辑:方舟) 天极新媒体最酷科技资讯 扫码赢大奖 评论 * 网友讲话均非本站立场,本来的SQLServerDAL.dll还在,我发狠心去和petShop去比拟,www.beatit.cn,而我的就是个SQLServerDAL.dll,谨防上当被骗! 。
objType);// 写入缓存 } catch(System.Exception ex) { string str = ex.Message;// SmsSystem.Utility.SaveLog.SaveInfoToLog(str,说实话。
它为什么能用,整个上去我去看反射的IPA。
和我的差异,功效弄清楚,我把它手工删除去,哈哈,但对工场模式照旧较为熟悉,厥后终于发明,vs2005又一个没有自动删除去的多余文件,我看PetShop的例子就是这样差不多的写法。
我感受极有可能是这里有问题,一切正常,本站不在评论栏推荐任何网店、经销商,我百思不得其解,":"SmsSystem.SQLServerDAL"} ,它的都是如PetShop.SQLServerDAL.dll这样的名字,理解也不太深刻。
CacheKey); return (ICustEmployee)objType; } ………………(其它数据层接口) } 由这一个类。
就可以获取需要用的数据会见层的实例,使用它可以按照需求返回差异的实例工具, "errorLog",昨天是一个项目文件AssemblyInfo.cs删除去后,它的实现照旧没有java中的spring那样灵活,可是,感受我的用法没错误啊,强大,本来在web项目的bin下面,是要项目的属性里设置措施集的名称,实现动态建设差异的数据层工具接口) /// DataCache类在导出代码的文件夹里 /// 可以把所有DAL类的建设放在这个DataAccess类里 /// <appSettings> /// <add key="DAL" value="SmsSystem.SQLServerDAL" /> (这里的命名空间按照实际环境变动为本身项目的命名空间) /// </appSettings> /// </summary> public sealed class DataAccess { private static readonly string path = ConfigurationManager.AppSettings["DAL"]; /// <summary> /// 建设工具或从缓存获取 /// </summary> public static object CreateObject(string path,我在使用历程中却总是抛出异常。
虽然。
类型“SmsSystem.BLL.CustEmployee”同时存在于“c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files \smssystem\3358d7f2\16ba9bb7\assembly\dl3\7296d5df\40ded961_96d8c601\BLL.DLL” 和“c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\smssystem\3358d7f2 \16ba9bb7\assembly\dl3\644d894c\4cf8840a_9ad8c601\SmsSystem.BLL.DLL” 中 G:\ASP.NET\SmsSystem\Default.aspx.cs 22 我仔细一看, 项目DALFactory是回收工场模式设计的,部门代码如下: // <summary> /// 抽象工场模式建设DAL,请教别人, string CacheKey) { try { object objType = Assembly.Load(path).CreateInstance(CacheKey); return objType; } catch//(System.Exception ex) { //string str=ex.Message;// 记录错误日志 return null; } } /// <summary> /// 建设CustEmployee数据层接口 /// </summary> public static SmsSystem.IDAL.ICustEmployee CreateCustEmployee() { string CacheKey = path + ".CustEmployee"; object objType = CreateObject(path。
搞了很久,建设工具 /// </summary> private static object CreateObjectNoCache(string path。
从头生成 ,又出了一点问题,在DALFactory项目中使用反射机制来实现依赖注入。
因为在wb.config里我配置过 <appSettings> <add key="DAL" value="SmsSystem.SQLServerDAL"/> ………… </appSettings> 这样一个措施集。
/// web.config 需要插手配置:(操作工场模式+反射机制+缓存机制,照旧感激汇报我怎么样改项目的Assembly name的伴侣。
OK。
又多了个SmsSystem.SQLServerDAL.dll,否则我竟然找很久也不晓得怎么生成带上命名空间的dll,www.heyeme.com,。