You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ibatis.apache.org by "Gilles Bayon (JIRA)" <ib...@incubator.apache.org> on 2006/03/30 07:22:27 UTC
[jira] Commented: (IBATISNET-144) IDao implementation with ref
parameter causes System.ExecutionEngineException.
[ 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