gpt4 book ai didi

javascript - IE 缓存 WCF 结果 - 我可以以某种方式解决这个问题吗?

转载 作者:行者123 更新时间:2023-11-30 23:50:01 24 4
gpt4 key购买 nike

我在 ASP.NET AJAX 应用程序中有一个返回 json 的 WCF 服务。我使用 MS AJAX 和客户端 PageRequesManager 在每个 endRequest 后运行服务以进行任何部分页面更新。用户有一个表单,他们更新数据并提交,服务需要获取最新数据。当我使用 FF 和 FireBug 进行调试时,一切都运行得很好。与我编码的方式完全相同,但是当我在 IE 中运行该应用程序时,惊讶!!!初始调用是当前的,但后续调用没有返回新的数据。我通过添加一条记录然后对 JSON 对象执行“.length”进行验证。它应该增加 1。我试图使用 IE 开发工具栏和 Fiddler {我真的还不明白}进行一些有限的调试,但我在开发工具栏中看到了一个用于清除浏览器缓存的按钮。我试了一下,然后轰隆隆!!! IE 开始按我的预期工作。我在本地开发者盒子上做过一次,它有效,但谁知道能持续多久?我能为该应用程序的用户做些什么?如果您愿意的话,我可以强制 IE 以某种方式“获取最新版本”吗?当然,这个应用程序是为了在 IE 中运行而设计的。不幸的是,大多数用户可能从未听说过 FireFox。有人遇到过类似的问题吗?任何想法,将不胜感激。我没有发布任何代码,因为我不靠近源代码,基本上它是 ABC 普通的 javascript。我的代码类似于 Javascript:Crockford 的 The Good Parts(如果这能说明质量的话)。

感谢您的任何想法,~ck 在圣地亚哥

最佳答案

我假设您的方法正在使用 WebGetAttribute关于你们的服务方式?这相当于一个 HTTP GET 谓词,如果服务器在响应中没有指定缓存 header ,则该谓词将根据浏览器默认值进行缓存。

您有两个选择:

  1. 如果您使用 ASP.NET 集成服务托管(即 AspNetCompatibilityAttribute),您可以使用 the HttpRequest::Cache property使用 the various methods of HttpCachePolicy 设置响应的缓存选项.
  2. 如果您正在使用/想要使用“纯”WCF,则可以设置 OutgoingWebResponseContext 的 ETag 和/或 LastModified 属性。通过 WebOperationContext::Current::OutgoingResponse 。更重要的是,您可以将 Cache-Control header 添加到 the Headers collection

Here's a great article其中包含您可能需要了解的有关 HTTP 缓存的所有信息,以备不时之需。

关于javascript - IE 缓存 WCF 结果 - 我可以以某种方式解决这个问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1719568/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com