簡體   English   中英

從WCF服務訪問SharePoint內容(列表)

[英]Accessing SharePoint content (list) from a WCF service

我編寫了WCF服務,該服務嘗試從SharePoint中的特定列表中讀取列表項。 出於測試目的,我使用Visual Studio ASP.Net開發服務器運行WCF服務。 我將站點ID傳遞給Web服務,並嘗試從Web服務中打開列表並閱讀項目。 但是,當我嘗試閱讀這些項目時,出現以下錯誤-

只有在SQL Server中具有從配置數據庫中讀取權限的用戶,才能在連接到服務器場的計算機上執行此操作。 要將此服務器連接到服務器場,請使用“管理工具”中“開始”菜單上的“ SharePoint產品和技術配置向導”。

以下是一些事實-

  1. 我在Windows Server 2008 x64中使用SharePoint 2007 x64,它是單服務器安裝(無服務器場)
  2. 我是農場管理員
  3. 我是系統管理員(但不是域管理員)
  4. 我是SharePoint所在的SQL Server 2005服務器的SysAdmin。
  5. 我是其中存在列表的網站集管理員
  6. 我以管理員身份打開Visual Studio 2010
  7. 在任務管理器中,ASP.Net開發服務器進程正在我的帳戶下運行

我不知道為什么會收到該錯誤。 有任何想法嗎?

共享點計算機上的WCF服務運行情況是什么? 我敢打賭,您正在嘗試在SharePoint框外使用SharePoint對象模型。

如果要遠程訪問共享點數據,使用自己的WCF服務或其他任何程序遠程訪問共享點數據,則必須使用Lists.asmx Web服務從共享點檢索數據。

實際上,在您的WCF中,您將必須充當SP服務的客戶端

[編輯]我的賭注是錯誤的:)這是另一件事要檢查

還可以看看您的VS項目。 將目標平台設置為“ AnyCpu”或“ X64”,以確保程序將使用正確的程序集和注冊表項。

如果您處理的是32位,則對象模型將嘗試在HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node節點下嘗試打開注冊表鍵,而不是共享點配置所在的HKEY_LOCAL_MACHINE\\SOFTWARE

嘗試檢查您的共享點應用程序池標識。 例如,如果您嘗試在服務中使用RunWithEvelatedPrivilegies消除特權,並且應用程序池標識沒有必需的權限,則會收到此消息。

Okie。 我發現了問題。 自從我在SharePoint 2007中切換到x64開發以來,這一直與我所面臨的相同問題有關。 當我將WCF服務部署到IIS時,一切正常。

使用Visual Studio 2010(無論我的項目目標平台是什么),我從未能夠通過簡單的控制台應用程序或簡單的asp.net Web應用程序訪問SharePoint內容。 我已經清楚地了解到問題出在x86 x64東西上,直到現在我仍無法解決。 我已經被這個困擾了很久了。

如果您對此答案有任何意見,請發布。

舊參考- 打開SPSite對象時Filenotfound異常-x64

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM