Разве мы не должны использовать класс System.Web.Caching.Cache в приложении WinForms? - PullRequest
3 голосов
/ 27 апреля 2009

Я видел несколько статей / постов в блоге, в которых пропагандируется использование System.Web.Caching.Cache в приложениях, не предназначенных для Интернета, однако в документации MSDN довольно четко говорится, что 1003 *

Класс Cache не предназначен для использования вне приложений ASP.NET. Он был разработан и протестирован для использования в ASP.NET для обеспечения кэширования веб-приложений. В других типах приложений, таких как консольные приложения или приложения Windows Forms, кэширование ASP.NET может работать неправильно.

Является ли документация неправильной, или мы действительно не должны использовать этот класс? Если последнее, что может пойти не так? Наша платформа Winforms / .NET 3.5.

Ответы [ 3 ]

6 голосов
/ 27 апреля 2009

Истекшие или неиспользованные объекты кэша не могут быть автоматически удалены, если приложение не является приложением ASP.NET. Поэтому, если объекты Cache используются за пределами ASP.NET, системная память, зарезервированная для объектов Cache, не освобождается. Вы не можете вручную вызывать внутренние методы ASP.NET для очистки кэша, потому что методы помечены как внутренние и предназначены для внутреннего использования. Таким образом, ваше решение использовать его во внешнем приложении на свой страх и риск. Объект System.Web.Caching.Cache

Скотт Хансельман опубликовал статью для более подробной информации

1 голос
/ 27 апреля 2009

Вы действительно не должны использовать его вне ASP.NET. Вот хороший технический документ по другим альтернативам:

http://msdn.microsoft.com/en-us/library/ms978502.aspx

0 голосов
/ 27 апреля 2009

документация верна, вы не можете использовать кэш asp.net в приложении Windows.

Артикул кеша .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...