2013-03-03 4 views
1

Я работаю над проектом, в котором мы строим уровень веб-API, который должен потребляться из разных типов клиентов.Кэширование веб-API ASP.NET

моя архитектура, как это (клиенты) < -Web API < -Service слой < < -Repository -Data магазин

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

Каков наилучший подход для построения такого кэширования?

ответ

0

Не совсем понятно, чего вы хотите достичь ... если вы можете уточнить свой вопрос и добавить более подробную информацию.

в то же время, если вы хотите кэшировать данные, зависящие от аутентифицированного пользователя, возможно, вы можете использовать объект Session (если это простой сценарий). Если это зависит от фильтра, вы можете использовать меньшее количество поставщиков кеширования (см. Ниже) и использовать фильтр в качестве ключа кеша.

там также объект Cache и более продвинутое решение. если вы используете NHibernate, объект данных почти полностью закрывает окно. это очень зависит от вашей реализации и конкретных требований.

прочитайте this aritcle для получения более подробной информации о возможном решении.

0

Вы можете реализовать кэширование (используя простое кэширование памяти или redis) на вашем уровне обслуживания, конечно же, вам необходимо передать идентификатор пользователя на уровень обслуживания. Если вы не хотите передавать Identity на свой уровень обслуживания, вам понадобится еще один уровень для кеша (между веб-API и уровнем обслуживания).

Смежные вопросы