Чтение сайта 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, он работает нормально

Другие вопросы по тегам