El NHibernateProfiler me dice este error: *Alert: Using a single session in
multiple threads is likely a bug*

Es a esto a lo que te refieres Fabio no? entices nos aconsejas
multiSessionFactory



El 30 de agosto de 2010 19:07, Maria Teresa Ruiz Espinosa <
[email protected]> escribió:

> Es debido a que nosotros las clase Nh no son nuestras entidades de negocio,
> de las Nh pasamos a las que usamos (ej: de NhUsuario pasamos a Usuario en el
> Transformer ). Es por que la base de datos ya existía cuando nos pusimos a
> hacer la aplicación Web.
>
>
>
> El 30 de agosto de 2010 18:59, Fabio Maulo <[email protected]>escribió:
>
> Hay algo que deberiamos conocer de lo que hace la clase 
> RepositorioDtoUsuarioLoginTransformer
>> ?
>>
>> Me resulta muy raro que uses un ResultTrasformer para un query que se
>> retorna una sola instancia (UniqueResult).
>>
>> 2010/8/30 NM <[email protected]>
>>
>> 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
>>
>>
>>
>>
>> --
>> Fabio Maulo
>>
>>  --
>> 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

Responder a