2010-04-05 4 views
0

Je suis très nouveau à NHibernate, et je suis un peu confus sur l'endroit où les fonctionnalités devraient vivre.nhibernate webforms avec la bibliothèque de classes

I ont la solution suivante

1) MyProject.Web (application de formulaires web)

2) MyProject.Domain (Bibliothèque de classes)

  • de nhibernate.config
  • produit
  • . hbm.xml

Alors est-ce correct? hould mettre la méthode suivante dans un IHttpModule? (je ne peux pas utiliser un asax global car il est utilisé par le CMS que je cours)

Où devrait être connectée la chaîne connectionString?

HttpModule dans l'application web forme

private static ISessionFactory CreateSessionFactory() 
{ 
    var cfg = new Configuration().Configure(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "nhibernate.config")); 
    cfg.SetProperty(NHibernate.Cfg.Environment.ConnectionStringName, System.Environment.MachineName); 
    NHibernateProfiler.Initialize(); 

    return cfg.BuildSessionFactory(); 
} 

nhibernate.config

<?xml version="1.0" encoding="utf-8" ?> 
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2"> 
    <session-factory name="RBL.Domain"> 
     <property name="dialect">NHibernate.Dialect.MsSql2005Dialect</property> 
     <property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property> 
     <property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property> 
     <property name="adonet.batch_size">16</property> 
     <property name="current_session_context_class">web</property> 
     <property name="proxyfactory.factory_class">NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle</property> 
     <mapping assembly="RBL.Domain"/> 
    </session-factory> 
</hibernate-configuration> 

Répondre

0

Le connectionString doit vivre soit dans votre fichier hibernate.cfg.xml ou votre fichier web.config ...

Un bon endroit pour guider J'ai commencé à utiliser le Your first Nhibernate based application du nhibernate.info wikis ... m'a certainement aidé quand je l'ai trouvé (m'aide encore!) ... comme vous semblez avoir une foule de questions concernant le démarrage.

Questions connexes