2011-02-17 63 views
1

我已经编写了一个WCF服务,它尝试从SharePoint中的特定列表读取列表项。出于测试目的,我使用Visual Studio ASP.Net Development服务器运行WCF服务。我将站点ID传递给Web服务,并从Web服务中尝试打开列表并阅读项目。但是,当我尝试阅读,我发现了以下错误的项目 -从WCF服务访问SharePoint内容(列表)

这种操作只能 由谁在SQL Server中 权限的用户加入到 服务器场的计算机上执行从 读取配置数据库。要将 此服务器连接到服务器场,请使用 SharePoint产品和 技术配置向导, 位于 管理工具的开始菜单上。

这里有一些事实 -

  1. 我使用SharePoint 2007的x64在 的Windows Server 2008 x64和它是一个 单服务器安装(无场)
  2. 我是一个农场管理员
  3. 我是一个系统管理员(但不 域管理员)
  4. 我为SQL Server 2005 SER系统管理员在版本是的SharePoint 是具有其数据库
  5. 我的网站集 管理员,其中,列表是 目前
  6. 我打开Visual Studio 2010中的 adminsitrator
  7. 在任务管理器中,ASP.Net 开发服务器进程 我的帐户

下运行,我没有任何想法,为什么我收到错误。有任何想法吗?

+0

你主机安装SharePoint服务器的同一台机器上的服务? – EvgK 2011-02-17 09:41:34

+0

是的,我已经。检查我的评论史蒂夫的帖子。 – NLV 2011-02-17 09:45:12

回答

0

Okie。我发现了这个问题。它与我在切换到SharePoint 2007中的x64开发后一直面临的相同问题有关。当我将WCF服务部署到IIS时,一切正常。

使用Visual Studio 2010(无论我的项目的目标平台是什么)我从来没有能够通过简单的控制台应用程序或简单的asp.net Web应用程序访问SharePoint内容。我清楚地知道问题出在x86 x64上,直到现在我还无法解决它。现在我已经为此闹了很久。

如果您对此解答有任何意见和建议,请发布。

古文献 - Filenotfound exception while opening an SPSite object - x64

3

是sharepoint计算机上的WCF服务runnig?我敢打赌,你正试图在SharePoint站点外部使用SharePoint对象模型。

如果您想要远程访问共享点数据,在您自己的WCF服务中或实际上任何其他程序中,您将不得不使用Lists.asmx Web服务从sharepoint检索您的数据。

事实上,在你的WCF,你将不得不作为客户端的SP服务

[编辑]我赌错了:)这里是另一回事检查

还需要很看你的VS项目。将目标平台设置为“AnyCpu”或“X64”以确保程序将使用正确的程序集和注册表项。

对象模型将尝试打开下HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node节点了reg关键,如果你处理为32位,而不是HKEY_LOCAL_MACHINE\SOFTWARE其中的SharePoint配置驻留

+0

根本不是。我只用了一台机器,在SP 2007上安装了SQL Server 2005和VS 2010. – NLV 2011-02-17 09:44:47

0

尝试查看您的SharePoint应用程序池标识。举例来说,如果您尝试在您的服务中使用RunWithEvelatedPrivilegies对您进行权限设置,并且应用程序池标识没有必需的权限,您将收到此类消息。