2014-01-15 3 views
1

Appfabric Caching (1.1)을 사용하여 가상 환경을 설정하고 실행하려고하면 2 개의 노드를 1 개의 캐시 클러스터로 실행할 수 있습니다. 모두 좋은 시스템을 보여줍니다. 전에는 고통이 아니 었습니다.AppFabric - 벌금을 물고 시간이 초과 되었습니까?

그래서 지금 데모 앱을 만들고 있습니다. 가상 환경에 연결할 수있는 호스트 컴퓨터에서 앱을 개발 중입니다 (VMware를 사용하며 호스트를 제외한 모든 도메인에 있음).

캐시에 물건을 넣을 수 있으며 캐시에 넣은 것을 반영하는 캐시 통계를 볼 수 있습니다. 하지만 도착하면 실패합니다! 그냥 시간을 내주고 왜, 어디서 갈지 전혀 모르겠습니다.

? u.Email 
"[email protected]" 
? CacheManager.Instance.Cache.GetCacheItem(u.Email) 
'CacheManager.Instance.Cache.GetCacheItem(u.Email)' threw an exception of type 'Microsoft.ApplicationServer.Caching.DataCacheException' 
    base {System.Exception}: {"ErrorCode<ERRCA0018>:SubStatus<ES0001>:The request timed out.. Additional Information : The client was trying to communicate with the server : net.tcp://AppFabricTwo.appfabric.demo.com:22233"} 
    ErrorCode: 18 
    HelpLink: "http://go.microsoft.com/fwlink/?LinkId=164049" 
    Message: "ErrorCode<ERRCA0018>:SubStatus<ES0001>:The request timed out.. Additional Information : The client was trying to communicate with the server : net.tcp://AppFabricTwo.appfabric.demo.com:22233" 
    SubStatus: -1 
    TrackingId: {00000000-0000-0000-0000-000000000000} 

저는 AppFabricOne과 AppFabricTwo가 있습니다. 나는 그 (것)들 사이 아무 문제도 통신 할 수 있고 나는 ping 할 수 있고 호스트 컴퓨터 (VM를 접대하고있다)에서이 2를 접근 할 수있다

이것이 일 것입니다 왜 무엇을하는 아이디어? VM 컴퓨터의 Windows 방화벽은 모두 비활성화되어 있으며 이들은 도메인에 가입되어 있습니다 (SQL 사용).

내 코드 :

추가 :

Random r = new Random(); 
int idChosen = r.Next(1, 99999); 
User u = new User { LastName = "Bloggs", FirstName = "Joe", CellPhone = "(555) 555-5555", DOB = DateTime.Today.AddYears(-30), UserID = idChosen, Email = idChosen.ToString() + "@bloggs.com" }; 
DataCacheItemVersion item = CacheManager.Instance.Cache.Put(u.Email, u, this.txtRegion.Text); 

을 찾는 중 :

CacheManager.Instance.Cache.GetCacheItem(u.Email) 

예, 나는 또한 GetRegionItem 시도하지만 여전히 나에게 GetCacheItem과 같은 오류를 제공합니다.

답변

0

캐시 항목을 캐시에 저장하는 데 사용하는 캐시 항목을 가져 오는 데 동일한 DataCacheFactory 객체를 사용하고 있습니까? PUT이 작동하고 GET을하지 않는다는 사실은 그들이 어떻게 든 datacachefactory 오브젝트라고 생각하게합니다.

또한 클라이언트 컴퓨터에서 FQDN AppFabricTwo.appfabric.demo로 핑할 수 있으며 IP 주소를 수정하려고합니다. appfabrictwo와 동일합니까? 또한 포트 22233 텔넷 확인 클라이언트에서 작동하는 경우 작동합니다 (비록 작동합니다.)

+0

답장을 보내 주셔서 감사합니다. 예, 항목을 가져 오는 데 동일한 DataCacheFactory 개체를 사용하고 있습니다. 실제로 FQDN을 Ping 할 수 있습니다. AppFabricTwo와 AppFabricOne에서. –

+0

방금 ​​아이템을 특정 지역에 넣고있는 것을 보았지만 Get 호출 중에는 지역이 포함되어 있지 않은 것으로 나타났습니다. 지역을 지정하지 않고 항목을 넣은 다음 get –

+0

그럼 GetRegionItem도 시도했지만 여전히 같은 문제가있었습니다. 단일 워크 스테이션에서 제대로 작동하지만 도메인에서이 작업을 수행하고 액세스 할 수있는 컴퓨터 클러스터를 사용하고 싶습니다. –