4

我正在尝试更改给定文档的类,下面是我使用的代码

Document p8Document = Factory.Document.getInstance(p8ObjectStore,
                oldDocumentClassName, new Id(documentId));
p8Document.changeClass(newDocClassName);
        p8Document.save(RefreshMode.REFRESH);

执行代码后,我可以看到文档类已成功更改。现在的问题是,如果我再次为同一个 guid 运行代码,下面的行会使用旧文档类名再次获取文档。

Document p8Document = Factory.Document.getInstance(p8ObjectStore,
                    oldDocumentClassName, new Id(documentId));
4

1 回答 1

5

通过使用getInstance,您不会要求服务器验证对象的存在。改为使用fetchInstance

实例化对象

getInstance 方法用于实例化引用假定已经存在的服务器对象的对象。在 Content Engine 服务器上不会验证对象的存在,并且在您对对象执行功能之前不会往返服务器

getInstance是一种您可以设置对象同时避免访问 CE 服务器的方法。

fetchInstance 方法通过首先往返于 Content Engine 服务器并检索(“获取”)属性值来实例化对象。

fetchInstance实际上将从 CE 服务器检索对象。

于 2017-10-12T19:39:30.093 回答