我将 GWT 2.4 与 RequestFactory 一起使用,但对我来说并非一切都清楚。
在这篇文章中,作者写了当我们将实体代理与一个实例RequestContext
一起使用并希望edit()
将此实体代理与其他实例重用()时的情况RequestContext
:
它不能被编辑,因为它已经分配了一个 requestContext。如果要更改它,您必须再次从服务器检索此实体的实例
但是当我执行这段代码时,我没有遇到任何异常:
RequestContext newRequest1 = factory.myRequest();
newRequest1.edit(proxy);
RequestContext newRequest2 = factory.myRequest();
newRequest2.edit(proxy);
当我运行这个版本时,出现了 autor 描述的问题(异常):
RequestContext newRequest1 = factory.myRequest();
MyProxy edited = newRequest1.edit(proxy);
RequestContext newRequest2 = factory.myRequest();
newRequest2.edit(edited);
因此,似乎只有返回的可编辑副本edit()
与 RequestContext 实例直接相关。
在这种情况下,在我的编辑视图中保留一个(不可编辑/冻结)代理实例并且每次用户单击“编辑”按钮时,我edit()
使用新的新 RequestContext 的方法是否有问题?或者我也应该每次都获得新的代理实例?
获取新的代理实例对我来说似乎有点尴尬,但我想重用一个代理实例可能会导致一些与向服务器发送更改增量相关的问题?
所以换个说法:用多个 ? 重用单个代理实例是一个好习惯RequestContexts
?