1.反射
web.Config (配置数据程序集和)
// <!--数据层:DALMSSQL.DBSessionFactory类,在DALMSSQL.dll数据程序集中-->
<add key="DBSessionFatory" value="DALMSSQL.DBSessionFactory"/>
///<!--程序集DALMSSQL.dll中有:DBSessionFactory.cs类-->
<add key="DBSessionFatoryDLL" value="D:\1.vs2012新练习小小项目\MVCOA20170223\MVCOA\bin\DALMSSQL.dll"/>
代码如下:
1.版本
private IDAL.IDBSession iDBSession; #region 数据仓储 属性 +IDBSession iDBSession; /// <summary> /// 数据仓储 属性 /// </summary> public IDAL.IDBSession DBSession { get{ if (iDBSession == null) { //A.======反射(创建数据) //1.读取配置文件(中的类:DALMSSQL.DBSessionFactory) String strFactoryDLL = Common.ConfigurationHelper.AppSetting("DBSessionFatoryDLL");//程序集 String strFactoryType = Common.ConfigurationHelper.AppSetting("DBSessionFatory");//程序集类名 ///2.1通过反射创建DBSessionFactory工厂对象 Assembly dalDLL= Assembly.LoadFile(strFactoryDLL);//1.数据程序集 Type typeDBSessionFatory=dalDLL.GetType(strFactoryType);//2.strFactoryType类名, //3.根据type创建实例:Activator.CreateInstance(typeDBSessionFatory) // 创建工厂对象:IDAL.IDBSessionFactory Sessionfactory IDAL.IDBSessionFactory Sessionfactory=Activator.CreateInstance(typeDBSessionFatory)as IDAL.IDBSessionFactory; //3.通过工厂创建DBSession对象 iDBSession = Sessionfactory.GetDBSession(); //A.======反射获取数据结束 } return iDBSession; } } #endregion

浙公网安备 33010602011771号