CAML 查询在 Web 服务 ASP.NET 不起作用
本文关键字:ASP NET 不起作用 服务 Web 查询 CAML | 更新日期: 2023-09-27 18:31:50
我有一个 ASP.NET Web 服务,里面我正在使用 SharePoint 2010 客户端对象模型。问题是我正在使用 CAML 查询为给定的用户检索一些项目。当我选择时,以便我的应用程序使用 Visual Studio 开发服务器,一切正常,但是当我切换到本地 IIS Web 服务器时,CAML 返回 0 个项目。
ClientContext clientContext = new ClientContext("http://mySiteCol");
Web web = clientContext.Web;
var query = from list in web.Lists
where list.Title == "listName"
select list;
var result = clientContext.LoadQuery(query);
clientContext.ExecuteQuery();
List lista = result.ToList().FirstOrDefault();
CamlQuery camlQuery = new CamlQuery();
camlQuery.ViewXml = string.Format("<View><Query><Where>" +
"<Eq><FieldRef Name='staticColumnName' />" +
"<Value Type='User'>{0}</Value></Eq>" +
"</Where></Query></View>", userName);
ListItemCollection listItemCollection = lista.GetItems(camlQuery);
clientContext.Load(listItemCollection);
clientContext.ExecuteQuery();
CAML 也不适用于用户 ID。
谢谢。
你研究过权限吗?在 IIS 中运行时,从 Web 服务到 SharePoint 的调用可能是作为 AppPool 帐户完成的
您是否尝试过删除
<View><Query></Query></View>
?
我的意思是这样的:
string.Format("<Where>" +
"<Eq><FieldRef Name='staticColumnName' />" +
"<Value Type='User'>{0}</Value></Eq>" +
"</Where>", userName);
希望这有帮助。