Использование Remote Event Receiver

Привет всем. Сегодня я хотел бы рассказать об новых возможностях, которые открылись перед нами во время выхода бета версии SharePoint 2013 и инструмента Visual Studio 2013. В SharePoint 2013 довольно много произошло изменений и сегодня я расскажу об использовании Remote Event Receiver.

Уже все знаем, что в SharePoint появилась облачная модель приложений, благодаря которой можно развёртывать свои приложения прямо в облака :) (SharePoint Store).

Что касается приложений. Это удобно, например, когда вы используете сайт для команды и Вам допустим не хватает опросника для сбора данных. Вы легко можете зайти в SharePoint Store и получить готовый опросник и установить его себе.

Модель приложений позволяет Вам легко создавать приложения, используя богатый и знакомый функционал SharePoint в своих приложениях.

Programming model for apps for 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