public OracleDataReader RunOracleProcedure(string storedProcName, IDataParameter[] parameters) { using (System.Data.IDbConnection iConn = this.GetConnection()) { iConn.Open(); using (OracleCommand sqlCmd = BuildQueryOracleCommand(iConn, storedProcName, parameters)) { using (IDbTransaction iTrans = iConn.BeginTransaction()) { sqlCmd.Transaction = (OracleTransaction)iTrans; try { OracleDataReader odr = sqlCmd.ExecuteReader(CommandBehavior.CloseConnection); iTrans.Commit();
//这里是写操作日志:什么时候哪个方法调用的什么存储过程名称 StackTrace trace = new StackTrace(); MethodBase methodName = trace.GetFrame(1).GetMethod(); Common.WriteContrleLog(string.Format("{0} {1}", methodName.Name, storedProcName)); iConn.Close(); return odr; } catch (Exception ex) { iTrans.Rollback(); iConn.Close(); throw ex; } } } } }
这段代码就是执行存储过程,然后这个方法会被非常频繁的调用,所以这个会不会出现这个问题?