Как я могу программно очистить кеш? - PullRequest
4 голосов
/ 21 января 2011

В моем приложении (ASP.NET + c#) мне нужно очистить кеш перед тем, как пользователь заходит на страницу aspx.

Кто-нибудь знает, как я могу программно очистить кеш на aspx?страница, или в коде (c #)?

Ответы [ 3 ]

12 голосов
/ 21 января 2011

Введите следующий код в событии загрузки страницы:

protected void Page_Load(object sender, EventArgs e)
{
    Response.Cache.SetCacheability(HttpCacheability.NoCache);
    Response.Cache.SetExpires(DateTime.Now);
    Response.Cache.SetNoServerCaching();
    Response.Cache.SetNoStore();
}
1 голос
/ 21 января 2011

Вы можете удалить страницу из кэша вывода следующим образом:

HttpResponse.RemoveOutputCacheItem("MyPage.aspx");

Это не удалит его из любого кеша на стороне клиента, поэтому, если вы хотите использовать эту технику, вы, вероятно, захотите отключить кеш на стороне клиента, например, используя следующую директиву на странице aspx:

<%@ OutputCache Location="Server" ...
0 голосов
/ 21 января 2011

Если нет какого-либо javascript-способа очистки кеша (что было бы ужасно), вы не сможете.

Лучше всего, чтобы убедиться, что страница вообще не кэшируется, выполняя действия Сухипредлагает - или настроить профиль кэша без кеша и использовать директиву OutputCache.

...