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