Программно начать обход заданного источника контента в Sharepoint 2010 - PullRequest
0 голосов
/ 29 сентября 2011

Можно ли программным способом начать сканирование заданного источника контента (например, общего файлового ресурса) через Sharepoint API или любым другим способом?

1 Ответ

1 голос
/ 30 сентября 2011

Исходя из комментария Роба выше, я нашел это полезным. Ниже приведен код C #, который я сделал.

Код в ссылке выдает ошибку в SPServiceContext.Current, если вы создаете консольное приложение. Так что первый шаг и метод GetContext () являются специфическими для этой ситуации.

SPSite mySite = new SPSite("http://localhost");
                SearchServiceApplicationProxy proxy = (SearchServiceApplicationProxy)SearchServiceApplicationProxy.GetProxy(SPServiceContext.GetContext(mySite));                     Guid appId = proxy.GetSearchServiceApplicationInfo().SearchServiceApplicationId;

                //Console.WriteLine("AppID : " + appId.ToString());

                SearchServiceApplication app = SearchService.Service.SearchApplications.GetValue<SearchServiceApplication>(appId);
                Content content = new Content(app);

                ContentSourceCollection cs = content.ContentSources;
                Console.WriteLine("Name\tId\tCrawlCompleted");
                foreach (ContentSource csi in cs)
                {
                    Console.WriteLine(csi.Name + "\t" + csi.Id + "\t" + csi.CrawlCompleted);
                }

                Console.WriteLine("Starting full crawl....");

                ContentSource css = content.ContentSources["source name"]; //csi.Name within square brackets
                css.StartFullCrawl();

                Console.WriteLine("Full crawl on source name started...");

Обязательно настройте целевую платформу сборки в Свойствах проекта при установке Sharepoint. В противном случае SpSite не будет создан.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...