Предотвращение ошибок проверки страниц с помощью 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.