2
모두 새 ObjectCache 개체를 사용하여 서버 쪽 캐시를 만들려고합니다. 어떤 이유를 들어, 예외를 던지고 다음 ...ObjectCache에 일관되게 설정 한 후에 항목이 일시적으로 포함되지 않음
_cache.Set(CacheKey.LOCATIONS, cachedLocations, DateTimeOffset.Now.AddHours(2));
if (!_cache.Contains(CacheKey.LOCATIONS))
throw new Exception("Did not add location to the cache.");
_cache는
private ObjectCache _cache = MemoryCache.Default;
이 예외는 캐시 인을 때마다 occures ... 서비스 계층에 다음과 같은 방법으로 인스턴스화 처음 제외하고는 예외는 코드에 표시된 것입니다 ... "캐시에 위치를 추가하지 않았습니다."
--- 메모 편집. ObjectCache는 정적이지만 MemoryCache.Default는 정적이기 때문에 정적 일 필요는 없습니다.
다른 스레드에서 설정이 가능합니까? 기다렸다가 다시 확인하면 어떨까요? –
위의 코드는 {...} 자물쇠가있어 가능한 것이 가능하지 않습니다. – Onosa
그건 아무것도 도움이되지 않습니다. lock (_cache) {}을 사용하는 경우 일 수 있습니다. 시도하기 전에 기다리면서이 이론을 테스트 했습니까? –