Firefox 4.0 始终刷新 Silverlight XAP 文件

发布于 2024-11-02 08:35:32 字数 1020 浏览 6 评论 0原文

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

在我的网站中,我托管了一个名为 Visualization 的 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

希望提示

I've trouble with the new FireFox 4.0 Release.

In my Website i hosted a Silverlight Object, named Visualisation.

In Firefox 3.6, Chrome, IE 7, 8, 9 the Browsers load the XAP File Once and get it from cache if not then do a postback or re-enter the site.

In FF 4 it reloads XAP File everytime i enter the site.

I tried a lot and searched the web but have no idea to fix the problem.

My Silverlight Object has the:

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

The Site which hosted the Object has the Page Head

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

and i have an own web.config in the ClientBin folder:

<?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>

Any Ideas?
The site runs on a IIS7 (Win 2008 Server) with .Net 4.0 and c# as Backcode

hope for hints

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

过期情话 2024-11-09 08:35:32

我会在网络选项卡下使用 firebug 来查看您的网络服务器正在发送哪些缓存标头。您希望看到类似以下内容:Cache-Control: max-age=31536000,也许还有一个 Etag。

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

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

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

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

I'd use firebug under the net tab to see what cache headers are being sent by your web server. You want to see something like: Cache-Control: max-age=31536000 and maybe an Etag.

There is a setting for caching under HTTP Headers in IIS under the common headers menu I think.

Another thing you might try playing with is the MIME type. It should be "Content-Type: application/x-silverlight-app"

If the headers are getting sent correctly and Firefox is choosing to ignore them, then there might not be anything you can do.

I've actually had the opposite problem with Chrome. Chrome seems to be very agressive with it's caches and I find myself running old versions of .xaps.

画▽骨i 2024-11-09 08:35:32

看来 Firefox 4.0+ 只缓存大小为 5MB 或更小的文件。
查看错误报告

It seems firefox 4.0+ caches only files with 5MB or less in size.
See bug report

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文