No tengo mucho tiempo para comentar, en el link que te he enviado hay un
ejemplo de creación de una clase que gestiona una sección de configuración
del web.config o app.config.
Esa clase se puede utilizar desde cualquier capa, ensamblado, ... Yo lo
estoy haciendo así y funciona perfectamente.

Implemento esa clase, y la utilizo desde la capa de presentación (en mi caso
desde mi NHibernateHelper propio de esta forma:

        public NHibernateHelper()
        {
            //Cargamos los datos del fichero de configuración
            DALGeneralConfigurationSection cfg =
DALGeneralConfigurationSection.CurrentConfiguration;
            //Forma de acceder a la configuración XML de NHibernate y crear
un sessionFactory...
            sessionFactory = new
NHibernate.Cfg.Configuration().Configure(cfg.NHibernateConfigPath
).BuildSessionFactory();
            currentSession = null;
        }

DALGeneralConfigurationSection es la clase de configuración
cfg.NHibernateConfigPath es una propiedad de la sección de configuración que
gestiona la clase implementada.

y así se especifica en el fichero de configuración:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>

  <configSections>
    <section name="DALGeneral"
type="Configuration.DataAccessLayer.DALGeneralConfigurationSection,
Configuration, Version=4.0.0.1, Culture=neutral,
PublicKeyToken=a5dcdbb4fcb73170" allowDefinition="Everywhere"
allowExeDefinition="MachineToApplication" restartOnExternalChanges="true" />


  <DALGeneral nhibernateConfigPath="c:\test\hibernate.cfg.xml" />


</configuration>

Lo he puesto un poco deprisa, puede haber errores...

El 22 de enero de 2009 18:13, Jose Fabricio Rojas
<[email protected]>escribió:

>
> Hola Sergio,
> bueno gracias por link , pero crear las secciones de configuracion en
> el web config no es problema ,sino leer sus valores desde otra capa
> ( en mi caso , mi capa de acceso a datos)
> Algo asi como lo que hace Enterprise Library en un paquete de Datos ,
> cuando la la factoria abstracta Database obtiene la cadena de conexion
> del web config solo con pasarle el nombre de la cadena de conexion.
>
> On 22 ene, 12:02, Kash <[email protected]> wrote:
> > http://msdn.microsoft.com/es-es/library/system.configuration.configur...
> > El 22 de enero de 2009 17:54, Jose Fabricio Rojas
> > <[email protected]>escribió:
> >
> >
> >
> >
> >
> > > Hola gente
> > > este es mi problema:
> > > Previo: Sucede que mi aplicación tiene una parte de los archivos de
> > > mapeo(hbm) incrustados y otra parte en una carpeta, esto debido a que
> > > los que están en la carpeta contienen consultas nombradas y es un
> > > requerimiento personalizar y cambiar esas consultas nombradas sin
> > > necesidad de un re-build a la aplicación.
> > > Ahora mediante el BuildSessionFactory() yo cargo los archivos hbm
> > > incrustados y mediante el cfg.AddDirectory(path) cargo los archivos de
> > > mapeo que se encuentran dentro de una ruta de disco duro.
> > > Lo que estaba haciendo hasta ahora es crear una clave en el registro y
> > > colocar la ruta en la clave de registro , leer la clave para obtener
> > > el path en donde estaban los hbm y el archivo de configuracion de NH
> > > (hibernate.cfg.xml para mi caso)
> > > Sucede que por "seguridad" se ha decidido cambiar esto
> > > Problema:
> > > Ahora en mi capa de acceso a datos tengo una clase que me administra
> > > las sesiones de NH y obtiene la ruta del archivo de configuracion y
> > > ruta de la carpeta de los hbm no incrustados, y construye mis sesiones
> > > a partir de eso.
> > > Lo que quisiera hacer es: Crear una seccion dentro del web.config con
> > > dos key, una donde apunte a la ruta de mi archivo de configuracion y
> > > otra clave donde apunte a mi carpeta que contiene los hbm no
> > > incrustados.
> > > Como puedo , o que clases utilizar para que que mi clase que
> > > administra las sesiones vaya hasta el web.config(que esta en mi capa
> > > de presentacion web) y lea esas key y contruya la sesion de NH  a
> > > partir de eso.
> > > Estaria muy agradecido por su ayuda.
> > > Un saludo desde Lima ,Peru
> >
> > --
> >
> > =================================
> > Sergio Castillo Checa
> >
>


-- 

=================================
Sergio Castillo Checa

--~--~---------~--~----~------------~-------~--~----~
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