엔터프라이즈 라이브러리 캐싱 개체가 플러시되도록 해당 프로세스의 모든 구성된 캐시를 플러시하도록 알리는 방법이 있는지 알고 싶습니다.EntLib 캐싱을 위해 진행중인 모든 캐쉬를 플러시하는 방법
해당 프로세스에 대해 구성된 캐시를 모두 열거하고 각 프로세스를 수동으로 플러시해도 괜찮습니까? 그렇지만 EntLib.Caching의 API 메소드를 통해 해당 값을 얻을 수 있습니까?
설정 파일을 직접 열거해야합니까?
엔터프라이즈 라이브러리 캐싱 개체가 플러시되도록 해당 프로세스의 모든 구성된 캐시를 플러시하도록 알리는 방법이 있는지 알고 싶습니다.EntLib 캐싱을 위해 진행중인 모든 캐쉬를 플러시하는 방법
해당 프로세스에 대해 구성된 캐시를 모두 열거하고 각 프로세스를 수동으로 플러시해도 괜찮습니까? 그렇지만 EntLib.Caching의 API 메소드를 통해 해당 값을 얻을 수 있습니까?
설정 파일을 직접 열거해야합니까?
모든 캐시를 비울 방법이 없다고 생각합니다. 응용 프로그램 풀을 재활용하면되지만, 이로 인해 코드에서 JIT 컴파일이 필요하게됩니다.
일반적으로 캐시의 이름을 상수로 저장하여 이름이 열거 형 데이터 형식에 저장되어있는 경우 이름을 코드에서 여러 번 하드 코딩하지 않도록하고 한 번에 하나씩 플러시 할 수 있습니다 .
이 방법에 대해 :
CacheManagerSettings conf = (CacheManagerSettings)ConfigurationSourceFactory.Create()
.GetSection(CacheManagerSettings.SectionName);
conf.CacheManagers.ForEach(delegate(CacheManagerDataBase cache) {
CacheFactory.GetCacheManager(cache.Name).Flush();
});