2009-02-04 4 views
2

Person 클래스가있는 클래스 라이브러리가 있습니다. Person 클래스에는 CountryName 및 CountryCode에 대한 속성이 포함되어 있습니다. CountryCode는 Person 테이블에 저장된 값입니다. 해당 조회 테이블에서 CountryName을 검색합니다..NET 용 일반 캐시 메커니즘

CountryName과 CountryCode 간의 맵핑이 변경 될 가능성이 없으므로 Person Business Object 내의 검색을 위해 캐싱을 사용하는 것이 편리하다고 생각합니다.

내 클래스 라이브러리는 향후 콘솔 및 Windows 응용 프로그램뿐만 아니라 ASP.NET 사이트에도 사용됩니다. 이 유형의 일반 캐싱을 구현하는 적절한 메커니즘은 무엇입니까? (.NET Generics 제외)

캐시가 다른 계층에서 수행되어야한다고 주장 할 수도 있지만 모든 유형의 .NET에서 작동하는 캐싱 메커니즘의 이점을 계속 누릴 수 있습니다. 계획.

답변

2

Enterprise Library 캐싱 응용 프로그램 블록을 사용하여 응용 프로그램의 모든 계층에서 캐시합니다. ASP.NET에서는 기본 제공 ASP.NET 캐시를 사용합니다.

실제로 구현에 의존하지 않는 캐싱 인터페이스로 별도의 어셈블리를 만드는 것이 좋습니다. 이렇게하면 나중에 수십개의 장소에서 코드를 변경할 필요없이 구현을 나중에 바꿀 수 있습니다. 또한 ASP.NET에서 동일한 캐싱 인터페이스와 나머지 코드를 사용할 수 있지만 Unity와 같은 종속성 삽입 프레임 워크를 사용하여 실제 구현을 스왑 아웃 할 수 있습니다.