4

我在使用新的 FireFox 4.0 版本时遇到了问题。

在我的网站中,我托管了一个名为 Visualisation 的 Silverlight 对象。

在 Firefox 3.6、Chrome、IE 7、8、9 中,浏览器加载 XAP 文件一次并从缓存中获取它,如果没有,则执行回发或重新进入站点。

在 FF 4 中,每次我进入网站时它都会重新加载 XAP 文件。

我尝试了很多并搜索了网络,但不知道如何解决问题。

我的 Silverlight 对象具有:

<param name="enableCacheVisualization" value="true"/>

托管对象的站点具有页眉

<%@ OutputCache Duration="600000" VaryByParam="none" %>

我在 ClientBin 文件夹中有一个自己的 web.config:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <location path="Visualisation.xap">
    <system.webServer>
      <staticContent>
        <clientCache cacheControlCustom="public" cacheControlMode="UseMaxAge" cacheControlMaxAge="10.00:00:00" />
      </staticContent>
    </system.webServer>
  </location>
</configuration>

有任何想法吗?该站点在 IIS7(Win 2008 服务器)上运行,使用 .Net 4.0 和 c# 作为 Backcode

希望得到提示

4

2 回答 2

1

似乎 firefox 4.0+ 只缓存 5MB 或更小的文件。
查看错误报告

于 2011-07-27T07:51:06.203 回答
1

我会在 net 选项卡下使用firebug来查看您的 Web 服务器正在发送哪些缓存标头。你想看到类似的东西: Cache-Control: max-age=31536000 可能还有一个 Etag。

在我认为的公共标头菜单下,IIS 中的 HTTP 标头下有一个缓存设置。

您可能会尝试使用的另一件事是 MIME 类型。它应该是“内容类型:应用程序/x-silverlight-app”

如果标头正确发送并且 Firefox 选择忽略它们,那么您可能无能为力。

我实际上在 Chrome 上遇到了相反的问题。Chrome 的缓存似乎非常激进,我发现自己运行的是旧版本的 .xaps。

于 2011-04-23T22:16:20.657 回答