Как безопасно кэшировать результаты LINQ to SQL? - PullRequest
1 голос
/ 18 сентября 2009

У меня есть веб-приложение ASP.Net MVC, которое включает в себя набор форумов. Чтобы обеспечить гибкую безопасность, я выбрал стиль безопасности со списком контроля доступа.

Тем не менее, это становится довольно тяжелой порцией данных, которые можно извлекать каждый раз, когда кто-то просматривает индекс форума.

Я использую функцию EnterpriseLibrary.Caching для кэширования различных не-LINQ элементов на сайте. (Интерпретатор BBCode, скины и т. Д.)

Мой вопрос такой:

Какой самый безопасный и элегантный способ кэширования результата LINQ?

По сути, я хотел бы сохранить копию ACL для каждого форума в памяти, чтобы предотвратить попадание в базу данных. Таким образом, для каждого человека, который посещает сайт, самое большее, я должен был бы получить информацию о членстве в группе.

В целом, я действительно ищу способ эффективно кэшировать большое количество данных LINQ, а не только эти конкретные строки.

1 Ответ

1 голос
/ 18 сентября 2009

Если у вас уже есть система кеширования для общих объектов, все, что вам нужно, это:

var whatever = linkQuery.ToList();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...