Развертывание приемника событий без привязки к какому-либо списку

sharepoint.stackexchange https://sharepoint.stackexchange.com//questions/94072

  •  10-12-2019
  •  | 
  •  

Вопрос

У меня есть приемник событий, который я разработал с помощью Visual Studio и хочу развернуть.Но в данном случае я хочу развернуть его, не связывая ни с каким списком.(Я добавляю приемник событий в определенный список позже через PowerShell.)

Я знаю, что если я установлю Scope к Site тогда приемник сработает для всех списков и библиотек.И я знаю, что если я установлю Scope к Web и укажите значение для ListUrl тогда он будет привязан только к указанному списку.

Однако кажется, что если я установлю Scope к Web и не указывайте ListUrl, он действует так же, как Site и привязывается ко всему.Вот мой код

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <Receivers Scope="Web">
    <Receiver>
      <Name>AutoNumberDocumentItemAdded</Name>
      <Type>ItemAdded</Type
      <Assembly>$SharePoint.Project.AssemblyFullName$</Assembly>
      <Class>ArticleManagementWorkflow.AutoNumberDocument.AutoNumberDocument</Class>
      <SequenceNumber>10000</SequenceNumber>
      <Synchronization>Synchronous</Synchronization>
    </Receiver>
  </Receivers>
</Elements>

Есть ли способ развернуть и активировать приемник, не привязывая его ни к чему?

Это было полезно?

Решение

Разверните приемник событий и не активируйте функцию. Файл elements присоединяет приемник событий к списку только при активации функции.После этого подключите приемник событий к списку из вашей PowerShell.

Другие советы

Есть еще один вариант, как добавить Приемник событий в определенный Список — добавить Приемник событий в Тип контента.

Шаги:

  • Создайте собственный тип контента для списка
  • Добавьте приемник событий к типу контента
  • Добавить тип контента в конкретный список, чтобы зарегистрировать приемник событий

В этом случае вы сможете контролировать, в каком списке должен быть зарегистрирован приемник событий.

Пожалуйста, ознакомьтесь с отличной статьей Пошаговое руководство 3. Разработка приемника событий для типа контента для более подробной информации.

В вашем случае вам не нужна функция.
Все, что вам нужно, — это библиотека классов с вашим классом приемника событий, подписать сборку и развернуть ее в GAC.Затем с помощью PowerShell зарегистрируйте приемник событий для нужного списка.

Как насчет того, чтобы прикрепить его к фиктивному списку, которого на самом деле не существует в Интернете, а затем прикрепить его к реальному списку с помощью Powershell.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с sharepoint.stackexchange
scroll top