Как получить SPSite для удаленного сервера по URL, имени пользователя и паролю?

Я пытаюсь получить SPSite для удаленного URL-адреса SharePoint:

SPSite site = new SPSite("http://remoteserver");

... но я получаю исключение. Это не проблема, когда я пытаюсь подключиться к sharepoint на локальной машине.

У меня есть требуемое имя пользователя и пароль удаленного сервера. Есть ли способ получить SPSite с именем пользователя и паролем?

Ответы

Ответ 1

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

Можете ли вы уточнить, что вы хотите сделать с SPSite, как только вы его получите? Это может облегчить принятие решения о том, какие методы более подходят для вас.


Поскольку вы говорите, что хотите взаимодействовать со списками на этом удаленном сайте, я предлагаю вам ознакомиться с веб-сервисом Lists, который поставляется с SharePoint 2007 и WSS 3. Этот вопрос SO похож, и там есть ссылка на некоторые ресурсы:

Как обновить список sharepoint с помощью .net?

Ответ 2

Для получения данных списка с удаленной машины вам понадобится веб-служба OOTB List Data Retrieval. Объектная модель SharePoint может использоваться только на самом сервере SharePoint.

Ответ 3

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

Ответ 4

На самом деле вы можете подключиться к удаленному сайту, если у вас есть SA на базовом SQL-сервере. Просто используйте SPFarm.Open(). Я не говорю, что это оптимально, просто убедитесь, что он там.