[ http://issues.apache.org/jira/browse/IBATISNET-144?page=comments#action_12372376 ]
Gilles Bayon commented on IBATISNET-144: ---------------------------------------- Nant script are not up to date .... > IDao implementation with ref parameter causes > System.ExecutionEngineException. > ------------------------------------------------------------------------------- > > Key: IBATISNET-144 > URL: http://issues.apache.org/jira/browse/IBATISNET-144 > Project: iBatis for .NET > Type: Bug > Components: DataAccess > Versions: DataAccess 1.7 > Environment: Microsoft Windows XP Professional Version 2002 SP2 > Microsoft Development Environment 2003 Version 7.1.3091 > Microsoft .NET Framework 1.1 Version 1.1.4322 SP1 > Microsoft Visual C# .NET 69519-005-8935845-18415 > DataMapper 1.3(356824) > DataAccess 1.7(356824) > Reporter: Noriyuki > > Implementing IDao and defining Dao method with "ref" parameter > and loading through DaoManager causes > "An unhandled exception of type 'System.ExecutionEngineException' occurred in > mscorlib.dll". > This problem only happens if I load my Dao through > DaoManager(of DataAccess Framework) with "ref" parameter and not happens > if I load my Dao directly through SqlMapper(of DataMapper Framework) > with "ref" parameter. > This might be the DynamicProxy issue. > The following snippet describes the differences between the above. > /*************************************************************************************/ > private DaoManager daoManager; > private IDailyDao dailyDao = null; > internal DailyService() > { > //DataAccessConfigurator configures and loads DaoManager > daoManager = DataAccessConfigurator.GetDaoManager(); > } > public bool LoadThroughDaoManager(ref object dailyDB, string > sOfficeCode) > { > //This load DailyDao instance through dao.config > dailyDao = daoManager[typeof(IDailyDao)] as IDailyDao; > try > { > //Begin trans > using (IDalSession session = > this.daoManager.OpenConnection()) > { > dailyDao.SelectDaily(sOfficeCode, ref > dailyDB); > } > return true; > } > catch (Exception ex) > { > throw new > RdbAccessException(string.Format(@"Failed to load Daily throught DailyService. > > OfficeCode={0} DailyNo={1}",sOfficeCode,((DailyDB)dailyDB).sNo), ex); > } > } > public bool LoadThroughSqlMapper(ref object dailyDB, string > sOfficeCode) > { > IBatisNet.DataMapper.SqlMapper mapper = > IBatisNet.DataMapper.Mapper.Instance(); > //Directly instantiate DailyDao > dailyDao = new DailyDao(); > ((DailyDao)dailyDao).SetContext(mapper); > try > { > //Begin trans > using (IDalSession session = > mapper.OpenConnection()) > { > dailyDao.SelectDaily(sOfficeCode, ref > dailyDB); > } > return true; > } > catch (Exception ex) > { > throw new > RdbAccessException(string.Format(@"Failed to load Daily throught DailyService. > > OfficeCode={0} DailyNo={1}",sOfficeCode,((DailyDB)dailyDB).sNo), ex); > } > } > /*************************************************************************************/ > The same exception occurs in the environment of the recent SVN version. > Any response is appreciated. > [Note] > Using NAnt with iBATIS.build file of the recent SVN causes compile error > unless you remove the following files. > IBatisNet.Common.Logging.IDataReaderProxy.cs > IBatisNet.Common.Logging.IDbCommandProxy.cs > IBatisNet.Common.Logging.IDbConnectionProxy.cs > -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira