Я пытаюсь использовать FullTextSqlQuery, чтобы найти список сайтов sharepoint, к которым у пользователя есть доступ. Вот мой код:
SPFarm farm = SPFarm.Local;
SPWebServiceCollection webServices =
new SPWebServiceCollection(farm);
foreach (SPWebService webService in webServices)
{
foreach (SPWebApplication webApp in webService.WebApplications)
{
using (FullTextSqlQuery fullTextSqlQuery = new
FullTextSqlQuery(ServerContext.GetContext(webApp)))
{
// Do some Initializtion
fullTextSqlQuery.QueryText =
"select title, path from scope() where (contentclass = 'STS_Web' or contentclass = 'STS_Site') order by path";
// execute the query and gather results
}
}
}
Естественно, я думал, что область поиска FullTextSqlQuery определяется аргументом конструктора, поскольку в этом случае область поиска будет веб-приложением:
FullTextSqlQuery fullTextSqlQuery = new
FullTextSqlQuery(ServerContext.GetContext(webApp))
Однако для каждого веб-приложения запрос возвращает один и тот же результат, что означает, что webApp не используется в качестве области действия. Итак, как определить область для запроса?
Спасибо.