【发布时间】:2012-06-14 04:11:43
【问题描述】:
我正在使用 AppEngine 和 Restlet 将我的数据作为客户端提供给浏览器中的 GWT 应用程序。 Restlet-GWT 版本使用 GWT-RPC 序列化作为底层传输格式。 GWT-RPC 序列化依赖于客户端和服务器之间的共享源进行序列化/反序列化。
现在,在向其中一个共享源类添加新属性后,反序列化开始失败。 AppEngine 服务器使用响应 HTTP 200 / OK 正确处理了请求,并发送了一个正确序列化的对象。客户每次都哽咽。
过了一会儿,我发现浏览器试图反序列化我的对象的缓存副本(没有新添加的属性),因此浏览器中的反序列化失败了。
现在的问题是:如果服务器被击中,为什么浏览器使用缓存副本?
IMO,这违背了缓存的目的/优势,正在消耗服务器和网络资源并且没有使用新的结果?如果浏览器决定使用缓存副本,我预计不会往返服务器。
谢谢!
【问题讨论】:
-
我在将新版本部署到 AppEngine 时也遇到了这个问题,我有什么办法来防止这种情况发生?
-
是的,我确实停止/启动了应用程序,重新编译了所有...
标签: google-app-engine gwt caching browser restlet