Я пытаюсь использовать FullTextSqlQuery для поиска списка сайтов sharepoint, к которым пользователь имеет доступ. Вот мой код:Что такое область поиска FullTextSqlQuery
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 не используется в качестве области. Итак, где я определяю область запроса?
Спасибо.
Привет, Колин, спасибо вам за ответ. Я новичок в Sharepoint. В моем случае я инициализирую запросы из разных веб-приложений, но все запросы возвращают один и тот же результат. Означает ли это, что эти веб-приложения используют один и тот же SSP? – Shuo
Да, да. Вы можете создать новые SSP, если это необходимо, или просто определить области действия в одном SSP. – Colin
Итак, что же делает контекст или параметр SPSite в конструкторе, если он не задает область? –