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