如何通过URL、用户名和密码从远程服务器获取SPSite?

13

我正在尝试获取远程SharePoint URL的SPSite:

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

但我遇到了一个异常。当我尝试连接本地机器上的SharePoint时没有问题。

我拥有远程服务器所需的用户名和密码。是否有一种方法可以使用用户名和密码获取SPSite

4个回答

12

您无法从远程计算机执行此操作。 您需要在SharePoint服务器计算机上运行该代码,或通过公开的SharePoint Web服务与远程服务器进行交互。

您能否更具体地说明您想对获取的SPSite执行什么操作?这可能会更容易判断哪些技术对您更合适。


由于您说您想与远程站点上的列表进行交互,因此建议您查看附带SharePoint 2007和WSS 3的Lists Web服务。 这个SO问题类似,并且那里有一些资源链接:

如何使用.NET更新SharePoint列表?


2
我想从列表中获取一个项目。您知道如何从远程机器以编程方式执行此操作,或者能否给我一些关于这个主题的好链接? - CoffeeCode
幸运的是,这种情况在SharePoint 2010中已经得到解决。有一个新的客户端API可以让您连接到远程站点。终于!!!以下是对象模型的简单概述http://www.chakkaradeep.com/post/SharePoint-2010-Introducing-the-Client-Object-Model.aspx - Jason Evans
请在此处查看:http://msdn.microsoft.com/en-us/library/ee535231(office.14).aspx - Jason Evans

4
您需要使用OOTB 列表数据检索 Web服务从远程计算机检索列表数据。SharePoint对象模型只能在SharePoint服务器本身上使用。

1

正如之前的回答所说,您可以使用SharePoint Web服务,或者使用您已有的代码在SharePoint环境中创建自定义Web服务,并从外部应用程序调用它。


1

如果您在底层 SQL 服务器上拥有 SA,则实际上可以连接到远程站点。只需使用 SPFarm.Open() 即可。我并不是说这是最佳选择,只是确保它存在。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接