Nhibernate Facility를 사용하여 Castle Windsor Container와 Nhibernate를 구성하려고합니다. 하지만 난 여기 Nhibernate Facility를 사용하여 Castle Windsor Container와 Nhibernate 구성하기
가 있어요 나의 Web.config의<castle>
<facilities>
<facility id="nhibernate"
type="Castle.Facilities.NHibernateIntegration.NHibernateFacility, Castle.Facilities.NHibernateIntegration"
isWeb="true">
<factory id="nhibernate.factory">
<settings>
<item key="connection.provider">NHibernate.Connection.DriverConnectionProvider</item>
<item key="connection.driver_class">NHibernate.Driver.SqlClientDriver</item>
<item key="connection.connection_string">Data Source=184.106.114.146\calyx;Initial Catalog=ClaimBook;User ID=system;Password=Manager1!;Persist Security Info=True;Max Pool Size=120;Connection Lifetime=120;</item>
<item key="dialect">NHibernate.Dialect.MsSql2000Dialect</item>
<item key="show_sql">true</item>
<item key="proxyfactory.factory_class">NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle</item>
</settings>
<resources>
<resource assembly="Astute.Framework.Data" />
</resources>
</factory>
</facility>
</facilities>
</castle>
이며 내를 Global.asax에서 나는 다음 줄
container.Kernel.Register(Component.For<ISessionManager>().ImplementedBy<DefaultSessionManager>().Named("nhfacility.sessionmanager"));
container.Kernel.Register(Component.For<ISessionFactoryResolver>().ImplementedBy<SessionFactoryResolver>().Named("nhfacility.sessionfactory.resolver"));
container.Kernel.Register(Component.For<ISessionStore>().ImplementedBy<WebSessionStore>().Named("nhfacility.sessionstore"));
container.Kernel.Register(Component.For<ITransactionManager>().ImplementedBy<DefaultTransactionManager>().Named("nhibernate.transaction.manager"));
에 추가하지만 난 오류를 다음
받고 있어요
* 지정된 별칭에 대해 ISessionFactory 구성 요소가 매핑되지 않았습니다. nh.facility.default S 압정 추적 : [FacilityException 일 : ISessionFactory 성분 지정된 alias 매핑되지 않았습니다 nh.facility.default] Castle.Facilities.NHibernateIntegration.Internal.SessionFactoryResolver.GetSessionFactory (문자열 별칭) 147 Castle.Facilities.NHibernateIntegration.DefaultSessionManager .CreateSession (문자열 별칭) +65 Castle.Facilities.NHibernateIntegration.DefaultSessionManager.OpenSession (문자열 별칭) 150 Castle.Facilities.NHibernateIntegration.DefaultSessionManager.OpenSession() +37 Castle.Facilities.NHibernateIntegration.Components.Web.SessionWebModule .OnBeginRequest (Object sender, EventArgs e) +124 System.Web.SyncEventExecutionStep.System.Web.SHttpApplication.IExecutionStep.Execute() +148 System.Web.HttpApplication.ExecuteS tep (IExecutionStep 단계, 부울 & 동기화 완료) +75 *
구성에서 누락 된 것이 무엇인지 알 수 없습니다. 이견있는 사람? 등
감사
이므 란
ISessionManager 등을 수동으로 등록하는 이유는 무엇입니까? 시설에서 처리합니다. –
놀랍게도 나는 왜 수동으로 등록해야합니까? 시설별로 처리해야합니다. 일부 구성이 누락 될 수 있습니다. 이 URL http://stw.castleproject.org/%28S%28ta5wga45q0nwdif0d3vk0saf%29%29/Windsor.NHibernate-Facility.ashx에 설명 된 단계를 수행했습니다. 나는 Global.asax에서 뭔가 잘못하고 있다고 확신한다. 어떤 생각? – user585014
nhibernate 기능을 어떻게 등록 할 수 있는지 알고 계십니까? 나는 어떤 모범을 보지 못했다. – user585014