3

我在托管/共享(阅读:不能进行服务器端更改)环境中使用 WSS 3.0。不幸的是,在 SP 和 IIS 之间,几乎没有任何东西被缓存,因此页面加载可能非常缓慢。

我们有一堆自定义图像、JS、CSS 等文件,它们目前只在 /img、/js 和 /css 目录中,每次页面加载时都会抓取所有这些文件(服务器返回“Cache-控制私有,max-age=0")。

由于我不能用 IIS 做任何事情,也不能在 SP 上启用任何缓存服务器端,我还有其他选择吗?我在几个地方读到,如果您的文件位于 layouts 目录中,它们将被缓存,但是使用 SP Designer 我似乎无权访问 /___layouts 目录,除非我遗漏了一些东西.. ..

想法??谢谢!

4

2 回答 2

4

由于您在托管/共享环境中运行,因此我将直接与 ISP 合作。有很多方法可以缓存东西,而 ISP 很可能会阻止你做大部分事情。

问他们以下问题...

  1. 您是否在页面布局目录上为匿名和/或经过身份验证的配置文件设置了输出缓存,或者在站点级别或站点集合级别(如何在此处概述)?如果没有,可以吗?
  2. 您是否将 IIS 设置为压缩静态文件(它不是缓存,但会有所帮助)?
  3. 在这个共享环境中,我可以使用多少 RAM?

如果您有足够的 RAM,请考虑缓存您的自定义 Web 部件
您还可以在 3rd 方 CDN(Akami、Amazon Web Services)上托管您的自定义图像、css、javascript 等,这对您的主题和核心 js/css 文件没有帮助。

于 2009-06-10T06:27:45.453 回答
2

_layouts 是应用程序页面的“存储库”,即由共享点部署的页面,用于通过 Web UI 执行维护等。很有可能您无权访问该文件夹,它也不会显示在 SharePoint 设计器中。你有几个选择:

  • 如果您有发布站点,则可以通过站点设置启用缓存。
  • 您还可以将 @OutputCache 指令添加到您通过 SharePoint Designer 创建的页面(MSDN 上的 Outputcache
  • 通过解决方案部署您的站点,该解决方案允许在 _layouts 文件夹中进行部署
于 2009-06-10T05:48:20.023 回答