Приемник событий SharePoint DocumentSet ItemAdded не запускается

Я программно создал 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. Я делаю все это, потому что хочу скрыть файлы с определенными типами контента, чтобы не отображать их в веб-части "Набор документов". Это вообще возможно? А может быть, есть более простой способ сделать это? Большое спасибо.

1 ответ

Мне кажется, что вы забыли добавить ContentType.Update(true). Также помните, что ItemAdded - это асинхронное событие, которое не запускается в w3wp-процессе. Для отладки необходимо подключиться к процессу owstimer.exe.

Другие вопросы по тегам