2009-11-20 108 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