gle*_*lex 2 api tridion tridion-2011
我发现旧的VBScript API和.Net API之间存在以下差异:
在旧的VBScript API中,可以调用"TDSE.getObject"来检索通过webdav路径传递的Tridion对象,一个整数来选择如何打开它(只读,读取和写入等)以及发布的ID我们想要的蓝图的确切元素.
在新的.Net API中,我发现只有"Engine.GetObject",但它只接收TCM ID或元素的webdav路径.
我们的方案如下:在旧的VBScript代码中,getObject方法的这个重载用于避免在使用TCM ID而不是webdav路径时检测到一些权限问题,并且因为当您需要在不同环境之间复制代码时,它会更加轻松(请参阅DEV,PREPROD)例如,PROD,避免更改TCM ID.
所以我的问题是:
谢谢!
您是否希望能够使用顶级项目的webdav URL,并指定从中获取项目的发布ID?
我会在Engine上创建一个扩展方法,为您执行此操作:
public static T GetObject<T>(this Engine engine, string webDavUrl, int publicationId)
where T : IdentifiableObject
{
[logic to retreive the item and then if needed
get the correct tcm uri and get the intended item]
return item as T;
}
Run Code Online (Sandbox Code Playgroud)
但是,这是一个非常昂贵的操作,因为你得到两个对象而不是一个.所以我不知道我是否经常使用这种方法.
| 归档时间: |
|
| 查看次数: |
484 次 |
| 最近记录: |