Чтение сайта sharepoint через объектную модель на сайте ASP.NET приводит к ошибкам
Scneario: веб-сервер с сайтом ASP.NET. Установленная версия Sharepoint 2010 SQL Express на том же сервере. SQL находится в том же окне.
ASP.NET работает в appPool1 с идентификатором "SiteUser". Сайт Sharepoint, созданный мастером, создал новый пул приложений, а для пула приложений установлен сетевой идентификатор как "Учетная запись Networkservice".
На одной из страниц (common.aspx.cs) я прочитал сайт sharepoint, используя приведенный ниже код.
SPSecurity.RunWithElevatedPrivileges(delegate()
{
using (SPSite site = new SPSite(cSPSite))
{
...
}
});
Вот ошибки.
Веб-приложение по адресу http://x2009:190/ не найдено. Убедитесь, что вы правильно ввели URL. Если URL-адрес должен обслуживать существующее содержимое, системному администратору может потребоваться добавить новое сопоставление URL-адреса запроса в предполагаемое приложение.
Я немного погуглил и пока безуспешно. Я не могу скомпилировать это, так как это сайт ASP.NET. Я попытался изменить удостоверение сайта sharepoint на удостоверение сайта ASP.NET (siteuser), но ошибка все еще сохраняется, и на этот раз мой сайт sharepoint (при отдельном просмотре) выдает "не удается подключиться к базе данных конфигурации". Я даже пытался изменить сайт sharepoint, чтобы он указывал на тот же пул приложений, который использует ASP.NET, но пока безуспешно.
Пожалуйста, предложите.
4 ответа
Вы должны проверить, зарегистрировано ли это имя сайта http://x2009:190/ в SharePoint как альтернативное сопоставление (или что-то в этом роде), также оно должно быть точно x2009 без каких-либо.bla.bla. Также этот пользователь должен иметь права безопасности для использования веб-сервисов (настроен в SharePoint).
Вы не можете сделать это с сайта ASP.NET на сервер SharePoint 2010 или более ранней версии из-за ограничений безопасности между сайтами. Вы можете использовать клиентскую объектную модель и получать доступ к SharePoint 2010 из управляемого клиента (приложение Windows), приложения Silverlight или ECMAScript в веб-части на сервере.
В ASP.NET вы можете использовать (использовать) веб-службы SharePoint.
В SharePoint 2013 есть средства, позволяющие осуществлять межсайтовый доступ.
Ваша Asp.Net ориентирована на 64-битную платформу? Если нет, вы обязательно получите эту ошибку, так как SharePoint 2010 требует, чтобы ваш код был 64-битным.
Попробуйте использовать учетную запись SPFarm в качестве пула приложений. Я получил эту ошибку и не могу понять, какое разрешение мне нужно. но если я использую SPFarm, он работает нормально