viernes, 12 de septiembre de 2014

Cambiar tiempo de espera para ejecución de comandos en NHibernate vía código

Las consultas ejecutadas con NHibernate tienen un tiempo de espera predeterminado de 30 segundos. Sin embargo puede que este tiempo no sea suficiente para ejecutar algunos comandos o consultas complejas.

Para cambiar el tiempo de espera a nivel global a través de la configuración NHibernate vía código, se puede establecer el valor de la propiedad command_timeout al momento de configurar la fábrica de sesiones, de la siguiente manera:

NHibernate.Cfg.Configuration configuracion;

// Inicialización de configuración de NHibernate
// ...

// Estableciendo nuevo tiempo de espera (como cadena, en segundos)
configuracion.SetProperty(NHibernate.Cfg.Environment.CommandTimeout, "150");

// Creando fábrica de sesiones
ISessionFactory fabricaSesiones = configuracion.BuildSessionFactory();

Con esto se configura la fábrica de sesiones para que cada vez que ejecute comandos sobre la base de datos utilice el tiempo de espera especificado. El tiempo de espera se indica en segundos, ya que de acuerdo a la documentación es el que se asigna por defecto a los IDbCommand generados por NHibernate para las operaciones en la base de datos, y el tiempo de espera para estos se especifica en segundos.

De momento solo lo he probado en NHibernate 3, específicamente la versión 3.3.1.4000, por lo que no estoy seguro si existe en versiones previas, aunque es muy probable.

Related Articles

0 comentarios:

Publicar un comentario

Con la tecnología de Blogger.