Вопрос

Я прочитал несколько статей о SqlCacheDependency.Я думаю, что это действительно классный способ обновления кэшей, но я не уверен, как я смогу справиться с этой технологией, если мое приложение представляет собой n-уровневую архитектуру.

Полезно ли это только в том случае, если моя программа представляет собой небольшое веб-приложение, или есть также способ использования в больших n-уровневых архитектурах?

Это было полезно?

Решение

Вы можете создать свой собственный интерфейс ICacheDependency и использовать фабричный класс для предоставления вам соответствующего объекта.Таким образом, ни вашему DAL, ни BL не нужно ссылаться на System.Пространство имен Web.Вы можете поместить этот фабричный класс на общий уровень и ссылаться на него на уровне пользовательского интерфейса.

MS Petshop 4 использовала что-то вроде этого, возможно, вы захотите последовать этому примеру.

Другие советы

В этом случае вам нужно, чтобы ваш DAL вернул вам объект, производный от абстрактного класса CacheDependency, который выполнял бы то же самое, что и SqlCacheDependency, но оптимизированный для вашего DAL.

Это, конечно, провал разделения интересов, но если вам нужна зависимость, это лучший способ.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top