Поделиться через


Устранение неполадок и отладка удаленного приемника событий в надстройке SharePoint

Настройка отладки для удаленного тестового сайта SharePoint

Примечание.

Описанные в этом разделе действия применимы, только если Visual Studio и тестовый сайт SharePoint развернуты на разных компьютерах или если в качестве тестового сайта используется сайт разработчика SharePoint Online. Если SharePoint и Visual Studio развернуты на одном компьютере, пропустите этот раздел.

Если проект надстройки SharePoint в Visual Studio содержит удаленный приемник событий (RER) или приемник событий надстройки, то для отладки надстройки с помощью клавиши F5 нужно выполнить дополнительную быструю настройку свойств проекта. А для этого, в свою очередь, требуется настроить Azure. Повторять настройку Azure для каждого проекта, который содержит удаленный приемник событий или событие надстройки, не требуется. (Если надстройка содержит обработчик событий AppInstalled, она не запустится ни с помощью клавиши F5, ни с помощью клавиш CTRL+F5 [запуск без отладки], пока не будут выполнены настройки, описанные в этом разделе.)

Настройка Azure

  1. Если у вас еще нет подписки Microsoft Azure, приобретите ее. Она входит в состав подписки на Visual Studio.

  2. Выполните действия, описанные в разделе Создание пространства имен служебной шины.

Настройка проекта надстройки SharePoint в Visual Studio

  1. У вас должна быть последняя версия средств разработчика Office для Visual Studio, поэтому запустите установщик WebPI здесь или установщик средств разработчика Office для Visual Studio 2015.

  2. Добавив удаленный приемник событий или обработчик событий надстройки в проект надстройки SharePoint в Visual Studio, щелкните правой кнопкой мыши проект в обозревателе решений и выберите Свойства.

  3. На панели свойств откройте вкладку SharePoint и прокрутите вниз.

  4. Установите флажок Включить отладку через служебную шину Microsoft Azure.

  5. В текстовом поле введите полную строку подключения. Вот как можно ее получить:

    1. Войдите на портал Azure и откройте вкладку Service Bus.

    2. Откройте пространство имен, созданное для отладки удаленного приемника событий и перейдите к строкам подключения. Пользовательский интерфейс портала Azure часто меняется. Если не удается найти строки подключения, см. справку по порталу Azure.

    3. Скопируйте строку подключения SAS. Это строка, которую вы указываете в свойствах проекта Visual Studio.

В дальнейшем при создании проектов Надстройка SharePoint в Visual Studio эти сведения будут заполнены заранее, поэтому не потребуется каждый раз открывать портал Azure.

Тестирование конфигурации

Чтобы убедиться, что вы можете выполнять отладку RER, выполните процедуры, описанные в этом разделе.

Создание проекта приемника удаленных событий

  1. В Visual Studio создайте надстройку SharePoint с размещением у поставщика. См. статью Создание надстроек SharePoint, размещаемых у поставщика.

  2. В обозревателе решений выберите узел проекта надстройки.

  3. В строке меню выберите Проект>Добавить новый элемент.

  4. На панели Шаблоны выберите шаблон Список, а затем нажмите кнопку Добавить.

  5. Нажмите Готово, чтобы добавить настраиваемый список по умолчанию в проект надстройки.

  6. Добавьте еще один элемент в проект надстройки, выбрав шаблон Удаленный приемник событий на панели Шаблоны.

  7. В поле Имя оставьте имя, заданное по умолчанию (RemoteEventReceiver1), и нажмите Добавить.

  8. В списке Тип приемника событий выберите События элемента списка. В качестве источника события оставьте List1 — список, который вы добавили на предыдущих этапах.

  9. В списке Обработать следующие события выберите Добавляется элемент и нажмите Готово.

    В веб-приложение будет добавлена веб-служба для обработки указанного удаленного события. Приемник удаленных событий будет добавлен в Надстройка SharePoint. Он будет ссылаться на веб-службы и события элемента списка в файле Elements.xml приемника событий.

  10. В проекте надстройки откройте файл AppManifest.xml.

  11. Укажите страницу списка в качестве начальной: AddInProjectName/Lists/List1.

  12. Замените AddInProjectName именем проекта надстройки, например SharePointAddIn4/Lists/List1. В этом примере начальной страницей назначается страница списка. Но в типичной надстройке ссылка, скорее всего, будет указывать на ваш собственный пользовательский интерфейс на странице веб-проекта.

Запуск и тестирование отладки обработчика событий

  1. Если вы еще не сделали этого, выполните действия, описанные ранее в разделе Настройка проекта надстройки SharePoint в Visual Studio этой статьи.

  2. В веб-проекте откройте службу удаленного приемника событий (RemoteEventReceiver1.svc), а затем добавьте точку останова в любую строку кода внутри метода ProcessEvent().

  3. Нажмите клавишу F5 для запуска проекта.

  4. Нажмите кнопку + Новый элемент, чтобы добавить элемент в список.

  5. Укажите название элемента, а затем выберите Сохранить. Будет достигнута точка останова, добавленная к обработчику удаленных событий и указывающая, что выполняется отладка обработчика удаленных событий.

  6. Нажмите клавишу F5, чтобы продолжить выполнение проекта, а по завершении его работы остановите отладку.

Включение и отключение уведомлений от Visual Studio о необходимости настроить отладку событий

Если в проекте используется удаленное событие, а отладка удаленных событий не настроена, Visual Studio предлагает ее настроить (см. следующий рисунок). Чтобы это уведомление не отображалось, снимите флажок Уведомлять меня, если отладка удаленных событий не настроена на вкладке SharePoint.

Уведомление об отладке удаленных событий

Уведомления в удаленных приемниках событий

Проверка размещения службы в служебной шине

Нажав клавишу F5 и установив доверие, перейдите к пространству имен служебной шины в браузере, например http://mynamespace.servicebus.windows.net, и вы увидите конечную точку в виде числа. На следующем рисунке показано, как выглядит страница, когда пространство имен не указано (то есть до нажатия клавиши F5).

Просмотр пространства имен служебной шины

Просмотр пространства имен служебной шины

Удаленный приемник событий не достигает точки останова

Удаленные события бывают синхронными и асинхронными. Если событие асинхронное, то для активации точки останова может потребоваться несколько секунд или больше времени.

Ошибка: "Ни одна точка не выполняла прослушивание"

Следующая ошибка отображается при запуске обработчика в рабочей среде:

"Ошибка вызова приемника удаленных событий. Сведения: не было прослушивания https://{domain}:nnnnn/{path}/AppEventReceiver.svc конечной точки, которая могла бы принять сообщение. Это часто вызвано неправильным адресом или действием SOAP". (где nnnnn — это порт).

SharePoint требует отсутствия явного порта в URL-адресе обработчика в рабочей среде. Это означает, что вам необходимо использовать либо порт 443 для HTTPS, что мы и рекомендуем, либо порт 80 для HTTP.

Ошибка: "Не удалось установить доверительные отношения для защищенного канала SSL/TLS с полномочиями"

Следующая ошибка отображается при запуске обработчика в рабочей среде:

"Ошибка вызова приемника удаленных событий. Сведения: не удалось установить отношение доверия для безопасного канала SSL/TLS с центром сертификации.

Когда надстройка находится в SharePoint Online, но удаленный приемник событий расположен в локальной среде и использует HTTPS согласно нашим рекомендациям, сервер, на котором размещен приемник, не может использовать самозаверяющий сертификат в рабочей среде. Серверу необходим общепринятый сертификат от центра сертификации. Если надстройка находится в локальной ферме SharePoint, можно использовать самозаверяющие сертификаты.

Дополнительные ресурсы