我有一个拥有非常大的列表(超过5000个项目)的sharepoint站点。 我正在考虑公开一个web服务,它将返回一个guid列表。 我有一个返回所述列表的类,我试图从Web服务实例化该类。 如果我试图在控制台应用程序中实现返回guid列表的类,那么一切正常,我得到了guid列表。 但是,如果我尝试从Web服务实例化该类,则在尝试打开网站集时:
使用(SPSite site = new SPSite(strSite))
我收到错误
System.IO.FileNotFoundException:XXXX上的Web应用程序可以 找不到。验证您是否正确输入了URL。如果是URL 应该是服务现有内容,系统管理员可能需要 添加新的请求URL映射到预期的应用程序。
有没有人知道如何克服这个问题?
这是代码
public void ProcessLargeList()
{
ContentIterator iterator = new ContentIterator();
//Here it works in a console application, and fails once being called from with in a
//work service.
using (var oSite = new SPSite(Site))
{
using (SPWeb oWeb = strWeb.Length > 0
? oSite.OpenWeb(Web)
: oSite.RootWeb)
{
SPList spDoc = oWeb.Lists[DocumentLibrary] as SPDocumentLibrary;
if (Query != null && Query.Length > 0)
{
SPQuery spquery = new SPQuery();
spquery.Query = Query;
spquery.QueryThrottleMode = SPQueryThrottleOption.Override;
Status = IterationStatus.Started;
//Runs through the content iterator and adds the items to the list of guids.
iterator.ProcessListItems(spDoc, spquery, ProcessListItem,
ProcessListItemError);
}
else
{
iterator.ProcessListItems(spDoc, ProcessListItem,
ProcessListItemError);
}
Status = IterationStatus.Completed;
}
}
}
提前致谢,
贝纳