[ 
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

Reply via email to