2010-07-15 2 views
3

ASP.NET MVC 1 웹 사이트를 버전 2로 업그레이드하려고합니다. 다른 모든 어셈블리도 업데이트해야합니다. 여기에는 Castle의 ActiveRecord dll도 포함됩니다.내 Castle ActiveRecord web.config의 문제점은 무엇입니까

구성 오류 설명 : :는 오류가 서비스 요청에 필요한 구성 파일을 처리하는 중에 발생한 여기에 내가지고있어 오류입니다. 아래의 특정 오류 세부 정보와 을 검토하여 구성 파일 을 적절히 수정하십시오.

파서 오류 메시지 : 에러는 액티브 의 구성 부 핸들러 만들기 발생 예외는 호출의 타겟 throw되었습니다.

<configSections> 
     <section name="activerecord" type="Castle.ActiveRecord.Framework.Config.ActiveRecordSectionHandler, Castle.ActiveRecord" /> 
... 
</configSections> 

<activerecord isWeb="true" isDebug="false"> 
    <config> 
     <add 
     key="hibernate.connection.driver_class" 
     value="NHibernate.Driver.SqlClientDriver" /> 
     <add 
       key="hibernate.dialect" 
       value="NHibernate.Dialect.MsSql2005Dialect" /> 
     <add 
       key="hibernate.connection.provider" 
       value="NHibernate.Connection.DriverConnectionProvider" /> 
     <add 
           key="hibernate.connection.connection_string" 
           value="Data Source=(local)\SQLEXPRESS;Initial Catalog=db;Integrated Security=SSPI;" /> 
    </config> 
</activerecord> 

은 여기 아무 잘못 표시되지 않습니다, 나는 "최대 절전 모드."추가 다음으로 키의의 시작 부분 :

http://www.castleproject.org/activerecord/documentation/v1rc1/manual/xmlconfigref.html

는 너무 전에이가 연기 된 이유가되었을 수도 있습니다 생각하는 것이 없었다.

답변

2

NHibernate는 (메시지가 말하는 것처럼) ProxyFactoryFactory를위한 설정이 필요하다. 성 프록시 공장 공장 최신 액티브 출시 배송 그래서 당신은 이런 식으로 설정할 수 있습니다 :

<add key="proxyfactory.factory_class" value="NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle"/> 

당신이 NHibernate.ByteCode.Castle.dll, Castle.DynamicProxy2.dll, 성에 대한 참조가 있는지 확인하십시오. 응용 프로그램의 Core.dll

release_mode 속성을 설정할 필요는 없으며 선택 사항입니다.

구성 등록 정보의 접두사 hibernate.은 NHibernate 2.0에서 삭제되었습니다. 당신이 인용 한 castleproject.org 페이지는 성 ActiveRecord RC1 (매우 구형)이며, NHibernate의 고대 버전 (1.0 또는 그와 비슷한 것)을 사용했습니다. ActiveRecord의 XML 구성 참조에 대한 최신 문서는 here입니다.

+0

감사합니다. 매우 도움이됩니다. – rball

+0

그냥 확실히 : type = "NHibernate ..."'아니면'value = "NHibernate ..."'에 대한 오타일까요? –

+0

@ anderson.pimentel 감사합니다. NHibernate 2.x에 대해서도주의하십시오. –

2

릴리스 모드의 키가 누락되었을 수 있습니다.

< key = "hibernate.connection.release_mode"value = "on_close"/ > 키를 추가 하시겠습니까?

활성 레코드 섹션이 있습니까?

< 섹션 이름 = "액티브"유형 = "Castle.ActiveRecord.Framework.Config.ActiveRecordSectionHandler, Castle.ActiveRecord"requirePermission는 = "거짓"/ > 난 단지 추측하고있어

, 그것을 밖으로 시도하자 우리는 알고 있습니다.

+0

일부 이유 때문에 xml 항목이 내 게시물에 표시되지 않았습니다. 나는 내가 갖고있는 것을 보여주기 위해 갱신했다. 응답 해 주셔서 감사합니다. 내 컴퓨터에 – rball

+0

이 필요합니다. 모든 동적 링크 라이브러리와 XML 파일이 필요합니까? – Zac

0

는 여기에 내가 지금 가지고있는 내용은 다음과 같습니다

<add 
      key="connection.driver_class" 
      value="NHibernate.Driver.SqlClientDriver" /> 
      <add 
        key="dialect" 
        value="NHibernate.Dialect.MsSql2000Dialect" /> 
      <add 
        key="connection.provider" 
        value="NHibernate.Connection.DriverConnectionProvider" /> 
      <add 
           key="connection.connection_string" 

나는 최신 성 액티브 레코드 어셈블리 2.1.2로 업데이트하고 오류가 지금은이 ... 멀리 갔다 :

The ProxyFactoryFactory was not configured. 
Initialize 'proxyfactory.factory_class' property of the session-factory configuration section with one of the available NHibernate.ByteCode providers. 
Example: 
<property name='proxyfactory.factory_class'>NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu</property> 
Example: 
<property name='proxyfactory.factory_class'>NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle</property> 

은혜 좋아요. ..

관련 문제