Estoy tratando de conectar con NHibernate y Unhaddins en dos db en Base de 
Datos Oracle (Producción / Historia). En cierta acción se desencadena, voy 
a guardar los datos de una db a otra, o incluso hacer una copia de 
seguridad de la información. Mi solicitud se hace a las normas de MVVM, la 
COI, y también utilizar el repositorio.

 Estoy teniendo problemas con el registro de la ISessionFactory. Puedo usar 
la siguiente sintaxis:

 container.AddFacility<PersistenceConversationFacility>();

 container.Register(Component
  .For<ISessionFactoryProvider>()
  .Named(sessionFactoryProviderComponentKey)
  .ImplementedBy<MultiSessionFactoryProvider>());

 var nhConfigurator = new DefaultMultiFactoryConfigurationProvider();
 nhConfigurator.AfterConfigure += 
NhConfiguratorAfterConfigure;                
 var sfp = new SessionFactoryProvider(nhConfigurator);

 container.Register(Component.For<ISessionFactoryProvider>().Instance(sfp));

 
container.Register(Component.For<ISessionFactoryImplementor>().UsingFactoryMethod(()
 
=> 
(ISessionFactoryImplementor)container.Resolve<ISessionFactoryProvider>().GetFactory(null)));
 
container.Register(Component.For<ISessionWrapper>().ImplementedBy<SessionWrapper>());
 
container.Register(Component.For<IConversationsContainerAccessor>().ImplementedBy<NhConversationsContainerAccessor>());

 RegisterSessionFactoryFor("pct_prd", container);
 RegisterSessionFactoryFor("pct_hst", container);
 
 
 private static void RegisterSessionFactoryFor(string sessionFactoryName, 
IWindsorContainer windsorContainer)
        {
            windsorContainer.Register(
               
Component.For<ISessionFactory>().Named(GetSessionFactoryProviderKey(sessionFactoryName))
               
.Configuration(Attrib.ForName("factoryId").Eq(sessionFactoryProviderComponentKey),
               
Attrib.ForName("factoryCreate").Eq("GetFactory")).Parameters(Parameter.ForKey("factoryId").Eq(sessionFactoryName)));
        }       
private static string GetSessionFactoryProviderKey(string 
sessionFactoryName)
        {
            return sessionFactoryName + ".sessionFactory";
        }
  
private static void NhConfiguratorAfterConfigure(object sender, 
ConfigurationEventArgs e)
        {
            e.Configuration.RegisterDisableAutoDirtyCheckListeners();
        }
  
 Se produce el error:
 La sesión de fábrica-id no se registra

 Se utiliza como ejemplo el siguiente post:
 
http://fabiomaulo.blogspot.com.ar/2009/09/configure-sessionfactory-providers.html

 Cómo registrar correctamente la fábrica-id? ¿Tiene usted algún ejemplo de 
cómo conectar dos db usando NHibernate / Unhaddins, cómo llevar a cabo este 
proceso de copia de seguridad entre las tablas y la forma de registrar los 
objetos correctamente?

 Saludos cordiales!

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