Este error también nos da System.Data.SqlClient.SqlException: No se permite una nueva transacción porque hay otros subprocesos en ejecución en la sesión.
NHibernate.TransactionException: Begin failed with SQL exception ---> System.Data.SqlClient.SqlException: No se permite una nueva transacción porque hay otros subprocesos en ejecución en la sesión. en System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) en System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) en System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() en System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) en System.Data.SqlClient.TdsParser.TdsExecuteTransactionManagerRequest(Byte[] buffer, TransactionManagerRequestType request, String transactionName, TransactionManagerIsolationLevel isoLevel, Int32 timeout, SqlInternalTransaction transaction, TdsParserStateObject stateObj, Boolean isDelegateControlRequest) en System.Data.SqlClient.SqlInternalConnectionTds.ExecuteTransactionYukon(TransactionRequest transactionRequest, String transactionName, IsolationLevel iso, SqlInternalTransaction internalTransaction, Boolean isDelegateControlRequest) en System.Data.SqlClient.SqlInternalConnectionTds.ExecuteTransaction(TransactionRequest transactionRequest, String name, IsolationLevel iso, SqlInternalTransaction internalTransaction, Boolean isDelegateControlRequest) en System.Data.SqlClient.SqlInternalConnection.BeginSqlTransaction(IsolationLevel iso, String transactionName) en System.Data.SqlClient.SqlInternalConnection.BeginTransaction(IsolationLevel iso) en System.Data.SqlClient.SqlConnection.BeginDbTransaction(IsolationLevel isolationLevel) en System.Data.Common.DbConnection.System.Data.IDbConnection.BeginTransaction(IsolationLevel isolationLevel) en NHibernate.Transaction.AdoTransaction.Begin(IsolationLevel isolationLevel) --- Fin del seguimiento de la pila de la excepción interna --- en NHibernate.Transaction.AdoTransaction.Begin(IsolationLevel isolationLevel) en NHibernate.Transaction.AdoTransaction.Begin() en NHibernate.Impl.SessionImpl.BeginTransaction() en Ofi.OfiTourWeb.Repository.Consultas.ConsultaExpedientesUsuario.DameExpediente(String idExpediente) en C:\Source\Ofi.OfiTourWeb\Ofi.OfiTourWeb.Repository\Consultas\ConsultaExpedientesUsuario.cs:línea 228 en Ofi.OfiTourWeb.Repository.RepositorioReservas.DameExpediente(String idExpediente) en C:\Source\Ofi.OfiTourWeb\Ofi.OfiTourWeb.Repository\RepositorioReservas.cs:línea 54 en Ofi.OfiTourWeb.Core.Services.ServicioReservas.DameExpediente(String idExpediente) en C:\Source\Ofi.OfiTourWeb\Ofi.OfiTourWeb.Core\Services\ServicioReservas.cs:línea 99 en Ofi.OfiTourWeb.Web.Controllers.ReservasController.MuestraResumenReservaMail(String id) en C:\Source\Ofi.OfiTourWeb\Ofi.OfiTourWeb.Web\Controllers\ReservasController.cs:línea 272 en lambda_method(Closure , ControllerBase , Object[] ) en System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters) en System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters) en System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters) en System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClassd.<InvokeActionMethodWithFilters>b__a() en System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation) en System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClassd.<>c__DisplayClassf.<InvokeActionMethodWithFilters>b__c() en System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext controllerContext, IList`1 filters, ActionDescriptor actionDescriptor, IDictionary`2 parameters) en System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) en System.Web.Mvc.Controller.ExecuteCore() en System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext) en System.Web.Mvc.ControllerBase.System.Web.Mvc.IController.Execute(RequestContext requestContext) en System.Web.Mvc.MvcHandler.<>c__DisplayClass8.<BeginProcessRequest>b__4() en System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass1.<MakeVoidDelegate>b__0() en System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass8`1.<BeginSynchronous>b__7(IAsyncResult _) en System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`1.End() en System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) en System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result) en System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() en System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) El 30 de agosto de 2010 16:50, NM <[email protected]> escribió: > Buenas ya escribi anteriormente con problemas con nhibernate > > Esta función de vez en cuando me da el errro que se especifica debajo > > var session = > NHibernateSession.Session(NHibernateSession.BBDD_OFITOUR); > using (var transaction = session.BeginTransaction()) > { > usuario = session > .CreateQuery(@" > from NhUsuarioWeb U > inner join fetch U.NivelAcceso > inner join fetch U.Oficina O > inner join fetch O.TipoClienteEstadistica > inner join fetch U.Agente > where U.UsuarioWeb = :login AND > U.AccesoPermitido = 'S'") > .SetParameter("login", login) > .SetResultTransformer(new > RepositorioDtoUsuarioLoginTransformer()) > .UniqueResult<Usuario>(); > > transaction.Commit(); > } > > > System.InvalidOperationException: > Ya hay un DataReader abierto asociado a este Command, debe cerrarlo > primero. > > NHibernate.TransactionException: Begin failed with SQL exception ---> > System.InvalidOperationException: Ya hay un DataReader abierto > asociado a este Command, debe cerrarlo primero. > en > > System.Data.SqlClient.SqlInternalConnectionTds.ValidateConnectionForExecute(SqlCommand > command) > en > > System.Data.SqlClient.SqlInternalConnection.BeginSqlTransaction(IsolationLevel > iso, String transactionName) > en > System.Data.SqlClient.SqlInternalConnection.BeginTransaction(IsolationLevel > iso) > en > System.Data.SqlClient.SqlConnection.BeginDbTransaction(IsolationLevel > isolationLevel) > en > > System.Data.Common.DbConnection.System.Data.IDbConnection.BeginTransaction(IsolationLevel > isolationLevel) > en NHibernate.Transaction.AdoTransaction.Begin(IsolationLevel > isolationLevel) > --- Fin del seguimiento de la pila de la excepción interna --- > en NHibernate.Transaction.AdoTransaction.Begin(IsolationLevel > isolationLevel) > en NHibernate.Transaction.AdoTransaction.Begin() > en NHibernate.Impl.SessionImpl.BeginTransaction() > en > > Ofi.OfiTourWeb.Repository.RepositorioUsuarioNh.DameDtoUsuarioLoginPorLogin(String > login) en C:\Source\Ofi.OfiTourWeb\Ofi.OfiTourWeb.Repository > \RepositorioUsuarioNh.cs:línea 52 > en > > Ofi.OfiTourWeb.Repository.RepositorioUsuario.DameDtoUsuarioLoginPorLogin(String > login) en C:\Source\Ofi.OfiTourWeb\Ofi.OfiTourWeb.Repository > \RepositorioUsuario.cs:línea 36 > en > > Ofi.OfiTourWeb.Core.Services.ServicioLoginUsuario.DameUsuarioPorLogin(String > loginUsuario) en C:\Source\Ofi.OfiTourWeb\Ofi.OfiTourWeb.Core\Services > \ServicioLoginUsuario.cs:línea 115 > en > > Ofi.OfiTourWeb.Web.Controllers.BuscarController.RellenaFiltroBusquedaConDatosUsuario(FiltroBusqueda > filtroBusqueda) en C:\Source\Ofi.OfiTourWeb\Ofi.OfiTourWeb.Web > \Controllers\BuscarController.cs:línea 103 > en > > Ofi.OfiTourWeb.Web.Controllers.BuscarController.ProcesarBusqueda(FiltroBusqueda > filtroBusqueda) en C:\Source\Ofi.OfiTourWeb\Ofi.OfiTourWeb.Web > \Controllers\BuscarController.cs:línea 119 > en > > Ofi.OfiTourWeb.Web.Controllers.BuscarController.Estancias(FiltroBusquedaEstancias > filtroBusquedaEstancias) en C:\Source\Ofi.OfiTourWeb\Ofi.OfiTourWeb.Web > \Controllers\BuscarController.cs:línea 30 > en lambda_method(Closure , ControllerBase , Object[] ) > en System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase > controller, Object[] parameters) > en > System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext > controllerContext, IDictionary`2 parameters) > en > System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext > controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 > parameters) > en > > System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClassd.<InvokeActionMethodWithFilters>b__a() > en > > System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter > filter, ActionExecutingContext preContext, Func`1 continuation) > en > > System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClassd.<>c__DisplayClassf.<InvokeActionMethodWithFilters>b__c() > en > > System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext > controllerContext, IList`1 filters, ActionDescriptor actionDescriptor, > IDictionary`2 parameters) > en > System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext > controllerContext, String actionName) > en System.Web.Mvc.Controller.ExecuteCore() > en System.Web.Mvc.ControllerBase.Execute(RequestContext > requestContext) > en > > System.Web.Mvc.ControllerBase.System.Web.Mvc.IController.Execute(RequestContext > requestContext) > en > System.Web.Mvc.MvcHandler.<>c__DisplayClass8.<BeginProcessRequest>b__4() > en > > System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass1.<MakeVoidDelegate>b__0() > en > > System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass8`1.<BeginSynchronous>b__7(IAsyncResult > _) > en > System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`1.End() > en System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult > asyncResult) > en > > System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult > result) > en > > System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() > en System.Web.HttpApplication.ExecuteStep(IExecutionStep step, > Boolean& completedSynchronously) > > > Por favor necesito solucionar este problema ya, pero no encuentro la > forma. > > -- > Para escribir al Grupo, hágalo a esta dirección: > [email protected] > Para más, visite: http://groups.google.com/group/NHibernate-Hispano > -- Para escribir al Grupo, hágalo a esta dirección: [email protected] Para más, visite: http://groups.google.com/group/NHibernate-Hispano
