2009-05-25 3 views
0

Ich las, dass die anfängliche Ladezeit für die Konfiguration ziemlich lange in nHibernate sein kann abhängig von der Anzahl der Mapping-Tabellen usw.Wann wird die Konfiguration mit nHibernate geladen?

dies in der Sitzung oder Cache gespeichert einmal und wird getan?
Wird es jedes Mal passieren, wenn der ASP.NET-Prozess wiederverwendet wird?

Antwort

2

Ein Konfigurationsobjekt ist normalerweise einer ISessionFactory zugeordnet. Wenn Sie viele Zuordnungen erstellen (indem Sie cfg.BuildSessionFactory aufrufen), kann eine Sitzungsfactory langsam sein. Aus diesem Grund müssen Sie eine Sitzungs-Factory nur einmal erstellen und in der gesamten Anwendung verwenden. Wenn der Prozess in einer ASP.NET-Anwendung wiederverwendet wird, verlieren Sie den Verweis auf diese Sitzungsfabrik und müssen erneut rekonstruiert werden.

Wenn Sie finden es extrem langsam ist Ihre Sitzung Fabrik bauen Sie die Leistung verbessern könnte durch die Reflexion Optimierer zu deaktivieren: Environment.UseReflectionOptimizer = false (cf doc)

0

Die Configuration wird verwendet, um die zu erstellen. Es ist ein One-Shot-Deal - der beim Start der Anwendung auftritt.

Verwandte Themen