2012-11-07 2 views
0

...datacacheexception가 캐시 내가 전화 factory.GetDefaultCache()를 호출 할 때 나는 다음과 같은 오류가

ErrorCode가 존재하지 않는 언급 : 하위 상태 : 캐시가 존재하지 않는 언급. 관리자에게 문의하거나 캐시 관리 도구를 사용하여 캐시를 만드십시오.

도와주세요 .. 감사합니다 .. 여기

내 간단한 응용 프로그램은 :

var config = new Microsoft.ApplicationServer.Caching.DataCacheFactoryConfiguration(); 
var servers = new List<Microsoft.ApplicationServer.Caching.DataCacheServerEndpoint>(); 
servers.Add(new Microsoft.ApplicationServer.Caching.DataCacheServerEndpoint("mymachine123", 22233)); 
config.Servers = servers; 
var factory = new Microsoft.ApplicationServer.Caching.DataCacheFactory(config); 

////var factory = _cacheFactory; 

var cache = factory.GetDefaultCache(); <---- *** Error happens here..*** 
var key = "mykey"; 
var obj = cache[key]; 
if (obj == null) 
{ 
    cache[key] = "I am data for caching"; 
} 
obj = cache[key]; 
Console.WriteLine(obj); 

내가 명령을 실행하면 :

호스트 이름 : 시작 cachecluster을, 나는 다음을 얻을 : CachePort 서비스 이름 서비스 상태 버전 정보 -------------------- ------------ ---------- ---- ------------ mymachine123 : 22233 AppFabricCachingService UP 1 [1,1] [1,1]

답변

2

나 자신을 설정하면 권한 문제 일 수 있습니다. 캐싱 서비스가 실행중인 사용자를 추가하십시오. Grant-CacheAllowedClientAccount <youraccountname>

+0

내 코드가 변경되지 않고 다음날에 작동했습니다. 캐싱 서비스를 수동으로 시작하지 않았지만 서비스를 시작하기 위해 start-cachecluster 명령을 사용했습니다. 그 차이를 만들 수 있지만 대답을 주셔서 감사합니다 ... –

+0

만약 appfabric 서버가 IIS에 의해 액세스되면 iis 사용자 (IIS_IUSRS)에게 권한을 부여해야하고, 프로덕션 환경이라면 AppPool/YourApplicationPool_InIIs에 권한을 부여하십시오. – tharo