2012-01-10 3 views
0

AppFabric을 NHibernate 2L 캐시 공급자로 사용합니다.NHibernate + AppFabric 캐시

내가 AppFabric 캐시 서비스를 설치 한

, 기본 하나에서 떨어져 캐시 클러스터 하나 추가 캐시를 구성 :

<dataCache size="Small"> 
     <caches> 
      <cache consistency="StrongConsistency" name="NHibernate"> 
       <policy> 
        <eviction type="Lru" /> 
        <expiration defaultTTL="10" isExpirable="true" /> 
       </policy> 
      </cache> 
      <cache consistency="StrongConsistency" name="default"> 
       <policy> 
        <eviction type="Lru" /> 
        <expiration defaultTTL="10" isExpirable="true" /> 
       </policy> 
      </cache> 
     </caches> 
     <hosts> 
      <host replicationPort="22236" arbitrationPort="22235" clusterPort="22234" 
       hostId="963417840" size="2047" leadHost="true" account="ZEUS\CATALINP" 
       cacheHostName="AppFabricCachingService" name="ZEUS" 
       cachePort="22233" /> 
     </hosts> 
</dataCache> 

모든 캐시 제공자 측에서 확인을 보인다. 특별한

<dcacheClient localCache ="True" deployment="simple"> 
    <localCache isEnabled="True" sync="TimeoutBased" ttlValue="300" /> 
    <hosts> 
     <host name="ZEUS" cachePort="22233" cacheHostName="AppFabricCachingService"/> 
    </hosts> 
    </dcacheClient> 

아무것도 그냥 일반적인 설정 :

캐시 클라이언트의 구성은,의 app.config에서 사용되는 다음되지 않습니다. 호출

DeadServerCallback, 서버 URI : net.tcp : // ZEUS : 22233/AppFabricCachingService DeadServerCallback : 나는 applicacion을 실행할 때

그러나, 내가 디버거에서 다음과 같은 출력을 볼 수 있습니다 일치를 내 서버, 청소 보류 SendMsgAndWait을 요청 : 원격 저장 작업이 실패 : MSGID = 1 ExecuteAPI : 응답, 1

마지막으로, 응용 프로그램에 다음과 같은 메시지와 함께 추락 = MSGID 널입니다 :

"ErrorCode : Cache :: Get : 캐시 서비스에 연결할 수 없습니다. 연락처 관리자와이 가능한 이유는 제품 도움말 문서 를 참조하십시오. "

캐시 서비스가 올바르게 (내가 PowerShell 명령을 통해에 연결하는 데 성공했다)를 구성 할 것으로 보인다는 NHibernate에 구성뿐만 아니라 올바른 것 같다 아직 NHibernate에 캐시 서비스에 연결할 수 없습니다.

는 누구?

, 감사

C.

비슷한 경험 있음

답변

1

NHibernate Velocity 공급자가 손상되어 AppFabric에서 작동하지 않습니다. 자세한 내용은 this question을 참조한 다음 s1mm0t의 AppFabric 공급자에게 here을 입력하십시오.

+0

감사합니다. Phil. 나는 Simon의 프로젝트를 시도해 보았습니다. Criteria 쿼리에서 L2 캐시의 항목을 성공적으로로드했습니다. 쿼리를 다시 실행하면 Nhibernate가 캐시에서 데이터를 읽는 대신 데이터베이스를 공격합니다. Simon의 프로젝트를 성공적으로 구현 한 사람이 있습니까? 고마워, C. – user1140689

+0

그것은 나를 위해 잘 작동하고있다 - 그렇지만 내가 그런 말은하지 않을 것이다; O). 내 블로그를 통해 저에게 연락을 주시면 자세히 알려 드리겠습니다. – s1mm0t

+0

시몬 감사합니다. 구성 파일에 localCache 섹션이 없기 때문에 문제가 발생했지만 작동 방법을 이해하는 데 몇 가지 문제가있을 수 있습니다. 약속 해 주셔서 감사 드리며 앞으로 더 큰 이메일을 보내 드리겠습니다. 다시 감사합니다. – user1140689