【问题标题】:SharePoint DocumentSet Event Receiver ItemAdded isn't firingSharePoint DocumentSet 事件接​​收器 ItemAdded 未触发
【发布时间】:2012-02-07 15:04:39
【问题描述】:

我已经基于文档集以编程方式创建了 ContentType,并希望将事件接收器附加到它。看起来像这样:

SPEventReceiverDefinition eventReceiverDefinition =   TestDocumentSet.EventReceivers.Add();
        eventReceiverDefinition.Class = "DocSetsTesting.EventReceivers.DocSetReceiver.DocSetReceiver"; // String
        eventReceiverDefinition.Assembly = Assembly.GetExecutingAssembly().FullName; // String
        eventReceiverDefinition.Type = SPEventReceiverType.ItemAdded; // SPEventReceiverType
        eventReceiverDefinition.Data = "XML"; // Arbitrary input data (String)
        eventReceiverDefinition.Update();

当我为 ItemAdding 事件执行此操作时,处理程序起作用。但它不适用于 ItemAdded。 我做所有这些事情是因为我想隐藏具有特定内容类型的文件,所以我不希望它们显示在文档集内容 Web 部件中。有可能吗?可能有更简单的方法来做到这一点?非常感谢。

【问题讨论】:

    标签: sharepoint event-receiver document-set


    【解决方案1】:

    在我看来,您忘记添加 ContentType.Update(true)。 另外,请记住 ItemAdded 是一个异步事件,并且不在 w3wp 进程中运行。要调试它,您需要附加到 owstimer.exe 进程。

    【讨论】:

    • 我相信,至少在 2007 年,事件接收者也必须进入 GAC。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多