Использование Remote Event Receiver
Привет всем. Сегодня я хотел бы рассказать об новых возможностях, которые открылись перед нами во время выхода бета версии SharePoint 2013 и инструмента Visual Studio 2013. В SharePoint 2013 довольно много произошло изменений и сегодня я расскажу об использовании Remote Event Receiver.
Уже все знаем, что в SharePoint появилась облачная модель приложений, благодаря которой можно развёртывать свои приложения прямо в облака :) (SharePoint Store).
Что касается приложений. Это удобно, например, когда вы используете сайт для команды и Вам допустим не хватает опросника для сбора данных. Вы легко можете зайти в SharePoint Store и получить готовый опросник и установить его себе.
Модель приложений позволяет Вам легко создавать приложения, используя богатый и знакомый функционал SharePoint в своих приложениях.
Вот так выглядит модель приложений. Более детальную информацию можно почитать здесь - https://msdn.microsoft.com/en-us/library/fp179930(v=office.15).aspx
Начнём сегодня с Remote Event Receiver. Чем же он отличается от обычного Event Receiver.
Подход к разработке практически не отличается. Remote Event Receiver может хоститься и работать на внешних ресурсах. Например, Dynamics CRM и следить за событиями, на которые он подписан на SharePoint.
Remote Event Receiver может подписываться на уровнях:
1. Элементов списка.
2. Списка в целом.
3. На уровне сайта.
4. На уровне приложения.
Remote Event Receiver при создании по умолчанию имеет два метода:
1. Синхронный ProcessEvent, возвращающий объект класса SPRemoteEventResult (https://msdn.microsoft.com/en-us/library/microsoft.sharepoint.client.eventreceivers.spremoteeventresult(v=office.15).aspx).
2. Асинхронный ProcessOneWayEventm который ничего не возвращает.
Создадим Remote Event Receiver, который подпишем на события ItemAdding, ItemDeleting, ItemAdded списка.
Создадим новый проект по шаблону App SharePoint 2013.
Добавим новый элемент "Список" и "Remote Event Receiver". Укажем необходимые события к шаблону списка.
Добавим код в метод:
Создадим новый каталог приложений через Центр администрирования и развернём наше решение.
Более детальную информацию можно почитать здесь - https://msdn.microsoft.com/en-us/library/jj220048(v=office.15).aspx