Tridion 在使用核心服务时,当项目已经处于该状态时,如何本地化或取消本地化组件而不会出现致命错误?

Tridion 在使用核心服务时,当项目已经处于该状态时,如何本地化或取消本地化组件而不会出现致命错误?,tridion,Tridion,我使用的是CoreService2010Client,我正在遍历我拥有的TCM ID值列表,并对其进行本地化或取消本地化。有时项目已经本地化,所以当我调用client.Localize()时,它抛出一个异常,表示“该项已本地化” 在尝试更改组件之前,如何测试组件的状态(本地化或未本地化)?首先,您需要按如下方式打开一个ComponentData对象: ComponentData usedComponentData=(ComponentData)client.Read(uriUsedItem,ne

我使用的是
CoreService2010Client
,我正在遍历我拥有的TCM ID值列表,并对其进行本地化或取消本地化。有时项目已经本地化,所以当我调用
client.Localize()时,它抛出一个异常,表示“该项已本地化”


在尝试更改组件之前,如何测试组件的状态(本地化或未本地化)?

首先,您需要按如下方式打开一个ComponentData对象:

ComponentData usedComponentData=(ComponentData)client.Read(uriUsedItem,new ReadOptions())


然后检查usedComponentData.BluePrintInfo.IsLocalized,它将返回一个布尔值

,谁可以提出添加TryLocalize和TryUnLocalize方法的建议?您可以通过客户支持提交ER,但我看不到他们这样做,因为我们可以很容易地在调用周围放置一个try catch,或者检查项目是否已经本地化。对于几乎所有的操作,如签出、签入、取消定位等,情况都是一样的——这将导致许多额外的服务方法。