0

우리는 현재 데이터 액세스 저장소에서 캐싱을 위해 엔터프라이즈 라이브러리 정책 삽입을 사용합니다.EntLib PolicyInjection에 대한 대체 제안

공중 인터페이스 IClientStatusRepository {[CachingCallHandler (24, 0, 0)] IList의 GETALL(); }

var clientStatusRepository = PolicyInjection.Wrap (새 ClientStatusRepository());

이것은 선언문에 구성 파일이 전혀 포함되어 있지 않기 때문에 잘 작동합니다. 그것도 우리 자신의 공장 패턴 뒤에 숨겨져있어서 쉽게 교체 할 수 있습니다.

대체 솔루션을 살펴보기 시작했습니다. 대체물을 보는 주된 이유는 현재 asp.net 캐시에서 콘텐츠가 만료되는 방식을 변경해야한다는 것을 깨달았 기 때문입니다. 또한 분산 캐시 (MemCached 또는 AppFabric)를 도입하여 캐시에서 선언적으로 개체를 축출 할 수 있기를 원합니다.

분산 캐시에서 이상적으로 사용 된 몇 가지 대안을 제시 할 수 있습니까? 솔루션에 클래스 별 구성이 필요한 경우 자동으로 배제됩니다. Aspects는 코드에서 선언적이어야합니다.

감사

크레이그

답변

1

쓰기 호출 핸들러는 매우 간단합니다. 또한 캐싱 호출 핸들러 소스를 예로들 수 있습니다. 사용하려는 캐시 시스템을 호출하는 사용자 정의 호출 핸들러를 작성하십시오.

이 캐싱 동작이 외관보다 어렵다는 것을 알고 Entlib 처리기는 Entlib 5에 대한 수정을 시도하기보다는 오히려 가져온 실수를 충분히 저지른 것으로 알고 있습니다. 특히 웹의 사용자간에 결과가 "새어 나옵니다" 프로젝트, 왜냐하면 캐시는 응용 프로그램마다 있기 때문입니다. 임의의 유형의 임의의 매개 변수에 직면하여 캐시 키를 지능적으로 형성하는 것은 쉬운 문제가 아닙니다.