/ / Can't Clear C # MVC Cache - c #, кешування, модель-view-контролер, браузер-кеш

Неможливо очистити кеш-пам'ять C # MVC - c #, кешування, керування моделлю-переглядом, кеш браузера

Я використовую ці налаштування в моєму Інтернеті.конфігураційний файл і мої клієнти браузера кешу мого MVC Контролер Результати методу? Як і чому? Мій конфіг не націлений на перегляд cshtml або Razor. А що я можу зробити зараз, щоб очистити кеш браузера моїх клієнтів?

<system.webServer>
<caching>
<profiles>
<add extension=".png" policy="CacheUntilChange" varyByHeaders="User-Agent" location="Client"/>
<add extension=".gif" policy="CacheUntilChange" varyByHeaders="User-Agent" location="Client"/>
<add extension=".jpg" policy="CacheUntilChange" varyByHeaders="User-Agent" location="Client"/>
<add extension=".js" policy="CacheUntilChange" varyByHeaders="User-Agent" location="Client"/>
<add extension=".css" policy="CacheUntilChange" varyByHeaders="User-Agent" location="Client"/>
</profiles>
</caching>
<httpProtocol allowKeepAlive="true">
<customHeaders>
<add name="Cache-Control" value="public, max-age=691200"/>
</customHeaders>
</httpProtocol>

Відповіді:

0 для відповіді № 1

Ви можете зробити це програмно, спробуйте: покладіть це на модель:

public class NoCache : ActionFilterAttribute
{
public override void OnResultExecuting(ResultExecutingContext filterContext)
{
filterContext.HttpContext.Response.Cache.SetExpires(DateTime.UtcNow.AddDays(-1));
filterContext.HttpContext.Response.Cache.SetValidUntilExpires(false);
filterContext.HttpContext.Response.Cache.SetRevalidation(HttpCacheRevalidation.AllCaches);
filterContext.HttpContext.Response.Cache.SetCacheability(HttpCacheability.NoCache);
filterContext.HttpContext.Response.Cache.SetNoStore();

base.OnResultExecuting(filterContext);
}
}
and on your specific controller: e.g:

[NoCache]
[Authorize]
public ActionResult Home()
{
////////...
}

Код взято з: Як очистити кеш у вказаному контролері в asp mvc?


-1 для відповіді № 2

Одним з рішень буде встановити номер версії після файлів .css, .js, .gif у вашому проекті. Я знаю, що це великі зміни в системі. Таким чином ви можете видалити кеш на клієнтських машинах

Щось на зразок цього

script.css?v=1.0 // This is the URL for release 1.0

Сподіваюся, що це допоможе. Удачі.