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


Предотвращение ошибок проверки страниц с помощью API-интерфейсов SharePoint в веб-приложениях

Дата последнего изменения: 1 октября 2009 г.

Применимо к: SharePoint Foundation 2010

В SharePoint Foundation веб-приложения выполняются с идентификатором пула приложений. По соображениям безопасности большинству API SharePoint Foundation назначены ограничения при обращении к ним из веб-приложений. Поэтому API могут вызывать различные ошибки проверки страниц. Во избежание этой проблемы необходимо обновить веб-приложение, как описано ниже.

Обновление приложения

Чтобы обновить веб-приложение для предотвращения ошибок проверки страниц, выполните следующие действия.

1. Запустите веб-приложение в контексте SharePoint

Для этого в каталоге _layouts любого сайта SharePoint создайте виртуальный каталог и разместите в нем веб-приложение.

2. Убедитесь в консолидации пула приложений

Убедитесь, что веб-приложение выполняется в том же пуле приложений, что и центр администрирования SharePoint. Благодаря этому доступ к функциям администрирования SharePoint Foundation, таким как развертывание контента, управление профилями пользователей, осуществляется с помощью идентификатора пула приложений центра администрирования.

3. Добавьте элемент управления "Сводка формы" на страницу ASPX

К большинству API можно обращаться через веб-приложение после выполнения описанных выше шагов 1 и 2. Однако для некоторых API и функций SharePoint Foundation может потребоваться более строгая проверка безопасности. Если после осуществления предыдущих действий ошибки проверки системы безопасности все еще остаются, на страницу ASPX необходимо добавить веб-элемент управления "Сводка формы" SharePoint Foundation. С помощью этого элемента управления веб-приложение проверяется в момент попытки обращения к API SharePoint Foundation. Поэтому веб-приложение считается безопасным и может иметь доступ к SharePoint Foundation. Для использования веб-элемента управления "Сводка формы" нужно зарегистрировать префикс тега для SharePoint Foundation, а затем добавить элемент управления на страницу ASPX.

Далее представлен образец кода, показывающий регистрацию префикса тега.

<%@ Register Tagprefix="SharePoint" 
   Namespace="Microsoft.SharePoint.WebControls" 
   Assembly="Microsoft.SharePoint 
   Version=14.0.0.0
   Culture=neutral, 
   PublicKeyToken=71e9bce111e9429c" %>

Теперь добавьте элемент управления "Сводка формы" SharePoint Foundation на страницу.

<SharePoint:FormDigest ID="fd" runat="server" PageUri=""/>

В качестве значения свойства PageURI в элементе управления "Сводка формы" нужно задать страницу, на которой он расположен. Если этого не сделать, будет выведено сообщение об ошибке со ссылкой объекта null.