Firefox 4.0总是刷新Silverlight XAP文件



我在使用新的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" %>

和我有一个自己的网。

<?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 Server)上,使用。net 4.0和c#作为后台代码

希望得到提示

我会在net选项卡下使用firebug来查看您的web服务器正在发送的缓存头。您希望看到类似这样的内容:Cache-Control: max-age=31536000,或者是Etag。

我想在IIS的common Headers菜单下有一个缓存HTTP Headers的设置。

您可以尝试的另一件事是MIME类型。应该是"Content-Type: application/x-silverlight-app"

如果标题被正确发送,而Firefox选择忽略它们,那么你可能无能为力。

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

firefox 4.0+似乎只缓存小于等于5MB的文件。
查看bug报告

最新更新