Sharepoint - как включить кеширование без доступа к серверу? - PullRequest
3 голосов
/ 10 июня 2009

Я использую WSS 3.0 в размещенной / совместно используемой (читай: не могу вносить изменения на стороне сервера) среде. К сожалению, между SP и IIS почти ничего не кэшируется, поэтому загрузка страниц может быть очень медленной.

У нас есть несколько пользовательских файлов изображений, JS, CSS и т. Д., Которые в настоящее время находятся только в каталогах / img, / js и / css, каждый из которых захватывается каждый раз при загрузке страницы (сервер возвращается "Cache-Control private, max-age = 0").

Поскольку я ничего не могу сделать с IIS и не могу включить кэширование на стороне сервера в SP, есть ли у меня какие-либо другие варианты? В нескольких местах я читал, что если ваши файлы находятся в каталоге раскладок, они будут кэшироваться, но с помощью SP Designer у меня нет доступа к каталогу / ___ раскладок, если я что-то не упустил .. ..

Мысли ?? Спасибо!

Ответы [ 2 ]

4 голосов
/ 10 июня 2009

Поскольку вы работаете в размещенной / совместно используемой среде, на этом я бы работал напрямую с ISP. Есть много способов кеширования вещей, и интернет-провайдер вполне может помешать вам делать большинство из них.

Задайте им следующие вопросы ...

  1. Установили ли вы кэширование вывода в каталоге «Макеты страниц» для аноновых и / или аутентифицированных профилей, или на уровне сайта, или на уровне семейства сайтов ( обзор того, как это сделать )? Если нет, можете ли вы?
  2. У вас установлен IIS на сжатие статических файлов (это не кеширование, но поможет)?
  3. Сколько оперативной памяти мне доступно в этой общей среде?

Если у вас достаточно оперативной памяти, посмотрите кэширование ваших пользовательских веб-частей .
Вы также можете разместить свои собственные изображения, css, javascript и т. Д. На CDN сторонних производителей (Akami, Amazon Web Services), который не помогает с вашей темой и основными файлами js / css.

2 голосов
/ 10 июня 2009

_layouts - это «хранилище» для страниц приложения, то есть страниц, развернутых на sharepoint для выполнения обслуживания и т. Д. Через веб-интерфейс пользователя. Вполне возможно, что у вас нет доступа к этой папке, она также не будет отображаться в конструкторе SharePoint. У вас есть несколько вариантов:

  • Если у вас есть сайт публикации, вы можете включить кэширование через настройки сайта.
  • То, что вы также можете сделать, это добавить директиву @OutputCache на страницу, создаваемую с помощью SharePoint Designer ( Кэш вывода на MSDN
  • разверните свой сайт с помощью решения, которое разрешает развертывание в папке _layouts
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...