2009-07-05 4 views
0

SqlCacheDependency에 대한 기사를 읽었습니다. 캐시를 업데이트하는 것은 정말 멋진 방법이라고 생각하지만, 애플리케이션이 n 계층 아키텍처 인 경우이 기술을 어떻게 처리 할 수 ​​있는지 잘 모르겠습니다.n 계층 구조의 SqlCacheDependency

내 프로그램이 작은 웹 응용 프로그램이거나 대규모 n 계층 architektures에서 사용할 수있는 방법이 있다면이 기능이 유용할까요?

+0

응용 프로그램이 여러 서버에 분산되어 있습니까? 특히 데이터베이스 계층? –

+0

예, Projekt의 DAL은 여러 가지 다른 응용 프로그램에서 사용됩니다. WebFarm의 ASP.Net 응용 프로그램에서 BizTalk가있는 Logic-Server에 이르기까지. –

답변

1

고유 한 ICacheDependency 인터페이스를 만들고 팩토리 클래스를 사용하여 적절한 개체를 제공 할 수 있습니다. 이렇게하면 DAL 또는 BL 모두 System.Web 네임 스페이스를 참조 할 필요가 없습니다. 이 팩토리 클래스를 공통 계층에 넣고 UI 계층에서 참조 할 수 있습니다.

MS Petshop 4는 다음과 같은 것을 사용했습니다.

+0

petshop 4에서 정말 좋은 예! 고마워요! –

0

이 경우 DAL에서 SqlCacheDependency와 동일한 작업을 수행하지만 DAL에 최적화 된 CacheDependency 추상 클래스에서 파생 된 개체를 반환해야합니다.

물론 이것은 관심사를 분리하지 못했지만 의존성이 필요한 경우 이동하는 것이 가장 좋습니다.

+0

n-tier architekture의 DAL에서이 클래스를 사용하는 것이 "좋은 스타일"이라고 생각하십니까? 너처럼 나 그렇게 생각하지 않아. 결론 : 나는 좋은 수업이지만 작은 응용 프로그램에만 해당됩니다. –

+0

네, 불행히도 Microsoft는 DAL에서 노출해도 괜찮은 ICacheDependency 인터페이스를 정의하지 않았다고 생각합니다. 나는 System.Web을 사용하는 DAL을 좋아하지 않는다. –