asp.net-mvc: кэширование JavaScript - PullRequest
3 голосов
/ 25 мая 2010

Я думаю, имеет ли смысл увеличивать скорость веб-сайта для выполнения какой-либо стратегии кэширования включаемых js-файлов?

одна идея, которая у меня есть, это сделать что-то вроде этого:

[OutputCache(Location = OutputCacheLocation.Any, Duration = 3600)]
public JsController : Controller
public ActionResult JQuery()
{
//I would have a ascx with the entire jquery script inside
return View();
} 

и на сайте. Мастер:

<%=Html.RenderAction("JQuery","JsController");

Ответы [ 3 ]

7 голосов
/ 25 мая 2010

это не обязательно. Вы можете указать стратегию кэширования для JS (и любых статических файлов) в web.config и в IIS.

В частности, для jQuery вы можете ссылаться на библиотеку из Google CDN.

http://code.google.com/apis/ajaxlibs/documentation/#jquery

3 голосов
/ 25 мая 2010

Клиентский браузер уже кэширует включенные файлы JavaScript. Для стандартных библиотек, таких как jQuery, вы можете использовать CDN, скорее всего, он уже кэширован в браузере клиента.

1 голос
/ 28 января 2013

Я не думаю, что вы должны использовать OutputCache для кэширования файлов содержимого. Вы можете использовать конфигурационный файл:

<system.webServer>
  <staticContent>
     <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="10.00:00:00" />
  </staticContent>
</system.webServer>

Таким образом, веб-сервер скажет браузеру кэшировать статический контент (JS, CSS и изображения) и не проверять новый контент в течение 10 дней.

Также по умолчанию любой браузер должен кэшировать статический контент. Вы можете увидеть весь контент, который кэшируется в Chrome, набрав в адресной строке chrome://cache

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