2009-11-20 105 views
1

谁能告诉我,如果我必须从Windows应用程序访问SharePoint列表某些方面?访问SharePoint列表

我tryed以下方式(我下用户是共享点成员):

SPUserToken token = new SPUserToken(
      BitConverter.GetBytes(WindowsIdentity.GetCurrent().Token.ToInt32())); 
SPSite site = new SPSite(siteName, token); 

,但没有运气...

回答

0

siteName您正在运行在同一台计算机上Windows应用程序从?如果不是,那么如果您使用的是SharePoint 2007,则无法访问该网站。

如果以上问题不存在,请检查用户帐户WindowsIdentity.GetCurrent()是否至少是网站所有者siteName

1

像杰森说,为了能够使用SharePoint对象模型(即在SharePoint的DLL)该应用程序需要与SharePoint在同一台机器上运行。如果它位于其他任何地方,则只能使用SharePoint提供的Web服务(或创建自己的服务并将其部署到您的SharePoint服务器)。

P.S.在SharePoint 2010中,您可以使用客户端对象模型,基本上是完整的SharePoint模型的一个子集(有点像Silverlight)。当然SP2010仍处于测试阶段....

1

This article提供了关于如何做到这一点使用LINQ和Web服务的一个很好的和详细的教程一步一步。它确实创建了一个控制台应用程序,而不是Windows应用程序,但如果需要的话,将其转换为Windows Form应用程序非常容易。当我开始以编程方式与SharePoint列表通信时,我发现这篇文章非常有用,因为它清楚地表明了使用LINQ处理来自SharePoint的Web服务响应是多么容易。

+0

看来,链接您发布上述是错误的。你能给我正确的链接吗? – Zim 2009-11-21 18:48:51

+0

对不起 - 我是Stack Overflow的新手。我已经更正了现在的链接。 – SnapShot 2009-11-21 19:09:44