Tridion UI(体验管理器)的事件系统错误

Tridion UI(体验管理器)的事件系统错误,tridion,tridion-2011,tridion-ui,tridion-events,Tridion,Tridion 2011,Tridion Ui,Tridion Events,我们在发布页面事件时使用事件系统发布额外页面。 当我们从CME发布一个页面时,它工作得很好。当我们使用TridionUI创建页面时,它会按预期创建和发布,但事件系统在尝试创建目标类型对象时会抛出错误 try { foreach (var t in e.Targets) { var targets = new List<TargetType>();

我们在发布页面事件时使用事件系统发布额外页面。 当我们从CME发布一个页面时,它工作得很好。当我们使用TridionUI创建页面时,它会按预期创建和发布,但事件系统在尝试创建目标类型对象时会抛出错误

 try
            {
                foreach (var t in e.Targets)
                {
                    var targets = new List<TargetType>();

                   some logic

                    targets.Add(new TargetType(t.Id, page.Session)); // error is in this line

                    PublishInstructionBase pib = e.PublishTransactions.First().Instruction;
                    PublishInstruction pi = new PublishInstruction(page.Session);
                    pi.StartAt = pib.StartAt;
                    pi.RollbackOnFailure = pib.RollbackOnFailure;


                    PublishEngine.Publish(
                        items,
                        pi,
                        targets,
                        PublishPriority.Low
                    );
                }

            }
试试看
{
foreach(e.Targets中的var t)
{
var targets=新列表();
一些逻辑
targets.Add(新的TargetType(t.Id,page.Session));//错误在这一行
PublishInstructionBase pib=e.PublishTransactions.First().Instruction;
PublishInstruction pi=新的PublishInstruction(第页会话);
pi.StartAt=pib.StartAt;
pi.RollbackOnFailure=pib.RollbackOnFailure;
发布引擎,发布(
项目,
圆周率,
目标,,
出版优先权,低
);
}
}
我们得到的异常是InvalidURIException

t和Session都不一定是空的,我们通过在那里写日志来验证这一点

请确实建议我们可以采取哪些措施来解决此问题

我们通过在try-catch中放入代码并在出现异常时手动创建目标类型来解决这个问题,正如我们所知道的,Tridion UI只在最初发布到staging

谢谢,
Vikas Kumar

很难毫无例外地说出堆栈跟踪,但我假设您需要先阅读
TargetType
,而不是尝试创建它,如下所示:

(TargetType) page.Session.GetObject(t.Id)

您使用的URI可能来自不同的发布上下文,因此无效。

您能告诉我们实际的错误吗?异常类型、消息和堆栈跟踪都会有帮助。另外,您从t.ID获得的值是多少?@JohnBax我们确实从t.IDokay获得了有效的现有tcm uri,但项目类型是什么?TargetType的项目类型是65538,如果ID以任何其他数字结尾,它将抛出异常用户是否有权使用您获得异常的TargetType?检查page.Session.User.Name并查看该用户是否可以在UI中实际打开目标类型URI?