我是 Tridion 事件系统的新手。我写了一个小代码。
[TcmExtension("MyEventHandlerExtension")]
public class EH : TcmExtension
{
public EH()
{
Subscribe();
}
public void Subscribe()
{
//EventSystem.Subscribe<Component, DeleteEventArgs>(HandlerForInitiated, EventPhases.Initiated);
EventSystem.Subscribe<Tridion.ContentManager.CommunicationManagement.Page, Tridion.ContentManager.Extensibility.Events.PublishOrUnPublishEventArgs>(HandlerForCommitted, EventPhases.All);
}
private void HandlerForCommitted(IdentifiableObject subject, PublishOrUnPublishEventArgs args, EventPhases phase)
{
TDSE obj = new TDSE();
Tridion.ContentManager.Interop.TDS.Publication pub = obj.GetPublication("tcm:0-150-1");
Tridion.ContentManager.Interop.TDS.Page pubPage = obj.GetPage("tcm:150-12374-64", pub);
pubPage.Publish("tcm:0-1-65538", false, true, false, default(DateTime), default(DateTime), default(DateTime));
}
}
使用此代码,我想在每次发生发布和取消发布事件时发布一个页面。
我构建了这段代码并在 tridion 配置文件中注册了它的路径。
但它不起作用。请帮助
最佳答案
好的,首先删除您所有的 TDSE 代码,您应该使用 TOM.NET。您可以获得 session subject.Session
然后确保您已在 Tridion.ContentManager.config
中注册了此扩展程序并重新启动您的系统
最后 - 如果某些东西不起作用,只需添加简单的代码即可在您的 HandlerForCommitted
中创建一个文件。每当事件发生时,这样您就可以看到您的扩展是否被执行。
关于tridion - 事件不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13157536/