2012-07-19 109 views
1

因此,我不想將頭撞到牆上幾個小時,而是認爲我只需再檢查一下這裏的一些東西。Visual Studio 2010中的SPSite

首先,我一直在嘗試訪問存儲在SharePoint 2007服務器上的列表(我應該首先說出我的控制力,而不是我可以編輯列表中的成員信息)通過Windows 7 64位計算機上的Visual Studio 2010(不以任何實際方式與服務器關聯)。我說我失去了控制權,因爲a)我正在寫的應用程序不能存儲在服務器上,b)我不能重新配置服務器的任何部分(因爲它是,我的控制權等等。 ..)

我開始使用Web服務從某個列表中讀取列表項,這些列表項在某種程度上起作用。我無法進行任何更多測試,因爲它立即推薦我停止使用該列表方法,而是嘗試使用SharePoint自己的服務(例如通過在我的項目中使用Microsoft.Sharepoint和相應的.dll)。我發現很多關於如何在線執行此操作的教程,但是我一直掛在一方面:即SPSite部分。

我知道這個問題已經提出了幾十次,但我只是不能確定我究竟需要什麼控制才能使其工作。在到達這行代碼時:

SPSite siteCollection = new SPSite(siteUrl); 

它每次都失敗。 (請注意,siteUrl是一個字符串,它會導致與Web服務一起工作的服務器的工作URL,所以我不明白爲什麼它現在不起作用。)

我測試了多個.Net框架(3.5,4.0 ...),並將我的體系結構從x86轉換爲x64到任何CPU,但仍然失敗。現在我需要憑據才能登錄該網站,所以我假設這就是爲什麼我無法訪問它。是否有某種證書需要與我的程序相關聯才能使其發揮作用?或者如果它成功訪問該網站,它會問他們嗎?

對不起,在這裏所有的困惑,我的思想剛剛融化,試圖吸收這麼快這一切。

(在一些小的阿里納斯是3.5嚴格.Net框架的要求,因爲這是微軟的Surface應用程序,這意味着它需要一個最低的4.0 ... ...?):P

回答

2

建議您使用的SharePoint服務器端對象模型不能用於您的方案。它只能在作爲SharePoint場的一部分的服務器上運行(在這種情況下,您的代碼不會)。由於您在2007年(無客戶端對象模型),因此您被困在web服務中(或者將您自己的web服務代碼編寫並部署到SharePoint場中的服務器,然後您的代碼將調用該服務器)。

+0

所以你說我能夠使用服務器端模型的唯一方法是,如果我的開發工作站正在運行服務器版的windows並且是服務器場的一部分?猜猜它不會給我帶來很多選擇,如何去編輯這些列表。 (我可以使用基本的列表Web服務編輯這些內容,是否正確?我已經使用了lists.asmx功能,並且在讀取數據方面取得了一些成功,但還沒有嘗試過編輯它們。) – 2012-07-20 13:08:46

0

這段代碼運行在與SharePoint網站相同的應用程序池中?如果沒有,最簡單的方法就是使用列表服務(/_vti_bin/Lists.asmx)。 SharePoint 2010添加了客戶端對象模型,但顯然您已被排除在外。 Example code can be found here