Доступ к содержимому SharePoint (списку) из службы WCF - PullRequest
1 голос
/ 17 февраля 2011

Я написал службу WCF, которая пытается прочитать элементы списка из определенного списка в SharePoint. В целях тестирования я запускаю службу WCF, используя сервер разработки Visual Studio ASP.Net. Я передаю идентификатор сайта в веб-службу, а из веб-службы пытаюсь открыть список и прочитать элементы. Но когда я пытаюсь прочитать пункты, я получаю следующую ошибку -

Эта операция может быть выполнена только на компьютере, который подключен к ферма серверов пользователями, которые имеют разрешения на чтение в SQL Server база данных конфигурации. Подключить этот сервер для фермы серверов, используйте продукты SharePoint и Мастер настройки технологий, находится в меню «Пуск» в Администрирование.

Вот несколько фактов -

  1. Я использую SharePoint 2007 x64 в Windows Server 2008 x64 и это установка на одном сервере (без фермы)
  2. Я администратор фермы
  3. Я системный администратор (но не администратор домена)
  4. Я системный администратор для SQL Server 2005 сервер в котором находится SharePoint имеет свои базы данных
  5. Я - Сайт Коллекции Администратор, в котором список присутствует
  6. Я открыл Visual Studio 2010 как adminsitrator
  7. В диспетчере задач ASP.Net Процесс разработки сервера работает под моей учетной записью

Понятия не имею, почему я получаю эту ошибку. Есть идеи?

Ответы [ 3 ]

3 голосов
/ 17 февраля 2011

запущен ли сервис WCF на компьютере с общим доступом?Могу поспорить, что вы пытаетесь использовать объектную модель SharePoint за пределами поля sharepoint.

Если вы хотите получить удаленный доступ к данным sharepoint, самостоятельно в службе WCF или фактически в любой другой программе, у вас будетиспользовать веб-сервис Lists.asmx для получения ваших данных с sharepoint.

Фактически, в вашем WCF вам придется выступать в роли клиента для сервисов SP

[править] моя ставка была неверной :) вот еще одна вещь, чтобы проверить

Также взгляните на ваш проект VS.Настройте целевую платформу на AnyCpu или X64, чтобы программа использовала правильные сборки и ключи реестра.

Объектная модель попытается открыть ключ reg в узле HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node, если вы обрабатываете32 бита вместо HKEY_LOCAL_MACHINE\SOFTWARE, где находится конфигурация sharepoint

0 голосов
/ 17 февраля 2011

Ока. Я нашел проблему. Это связано с той же проблемой, с которой я столкнулся с тех пор, как перешел на разработку x64 в SharePoint 2007. Когда я развернул службу WCF в IIS, все работало нормально.

Используя Visual Studio 2010 (независимо от того, какая у меня целевая платформа моего проекта), мне никогда не удавалось получить доступ к контенту SharePoint через простое консольное приложение или простое веб-приложение asp.net. Я ясно понял, что проблема с x86 x64, и до сих пор не смог ее решить. Меня это преследует так долго.

Если у вас есть какие-либо комментарии к этому ответу, пожалуйста, напишите его.

Старая ссылка - Исключение из-за отсутствия файла при открытии объекта SPSite - x64

0 голосов
/ 17 февраля 2011

Попробуйте проверить личность пула приложений на sharepoint. Если вы, например, пытаетесь выявить ваши привилегии, используя RunWithEvelatedPrivilegies в вашем сервисе, и у удостоверения пула приложений нет необходимых разрешений, вы получите такое сообщение.

...