【发布时间】:2015-12-07 17:02:21
【问题描述】:
全部。
我创建了一个 REST ApiController,其中包括尝试调用 Sharepoint 站点的 /_vti_bin/listdata.svc 以获取一个或多个 Sharepoint 列表的内容。
ApiController 的 web.config 使用没有模拟的 Windows 身份验证。在代码中,我使用 System.Net.CredentialCache.DefaultNetworkCredentials 作为 DataContext.Credentials。
当我使用 Visual Studio 在本地运行服务时,ApiController 能够毫无问题地调用 listdata.svc 并且能够检索列表的全部内容。
但是,当我将 ApiController 部署到在系统帐户下运行的实际 IIS 服务器时,对 listdata.svc 的调用不会检索到任何结果。从我在 ApiController 的日志中可以看到,没有抛出异常。根据日志,列表只是显示为空(0 项)。
我已检查以确保 IIS 系统帐户可以正确访问 Sharepoint 站点。
关于行为差异的原因有什么想法吗?
【问题讨论】:
-
尝试以系统以外的任何帐户运行应用程序池。我不能确定 IIS,但在 Windows 中,系统帐户通常会阻止任何提升以域用户身份运行的操作的尝试。网络服务应该可以正常工作。这可能不是问题,但很容易检查,如果仍然无法正常工作,也许您可以分享一点源代码。
标签: c# asp.net rest sharepoint asp.net-web-api