How to: Retrieve the Content Sources for a Shared Services Provider
The Content object in the Enterprise Search Administration object model provides access to the content sources configured for the search service of a Shared Services Provider (SSP).
The following procedure shows how to write out the full list of content source names and IDs from a console application.
To display the list of content source names and IDs from a console application
-
In your application, set references to the following DLLs:
-
Microsoft.SharePoint.dll
-
Microsoft.Office.Server.dll
-
Microsoft.Office.Server.Search.dll
-
-
In your console application's class file, add the following using statements near the top of the code with the other namespace directives.
using Microsoft.SharePoint; using Microsoft.Office.Server.Search.Administration;
-
To retrieve the Content object for the SSP's search context, add the following code. For more information about ways to retrieve the search context, see How to: Return the Search Context for the Search Service Provider.
/* Replace <SiteName> with the name of a site using the SSP */ string strURL = "http://<SiteName>"; SearchContext context; using (SPSite site = new SPSite(strURL)) { Context = SearchContext.GetContext(site); } Content sspContent = new Content(context);
-
Retrieve the collection of content sources by using the following code.
ContentSourceCollection sspContentSources = sspContent.ContentSources;
-
To loop through the content sources and display the name and ID for each content source, add the following code.
foreach (ContentSource cs in sspContentSources) { Console.WriteLine("NAME: " + cs.Name + " ID: " + cs.Id); }
Example
Following is the complete code for the console application class sample.
Prerequisites
-
Ensure a Shared Services Provider is already created.
Project References
Add the following Project References in your console application code project before running this sample:
-
Microsoft.SharePoint
-
Microsoft.Office.Server
-
Microsoft.Office.Server.Search
using System; using System.Collections; using System.Text; using Microsoft.Office.Server.Search.Administration; using Microsoft.SharePoint; namespace ContentSourcesSample { class Program { static void Main(string[] args) { /* Replace <SiteName> with the name of a site using the SSP */ string strURL = "http://<SiteName>"; SearchContext context; using (SPSite site = new SPSite(strURL)) { context = SearchContext.GetContext(site); } Content sspContent = new Content(context); ContentSourceCollection sspContentSources = sspContent.ContentSources; foreach (ContentSource cs in sspContentSources) { Console.WriteLine("NAME: " + cs.Name + " ID: " + cs.Id); } } } }
See Also
Tasks
How to: Return the Search Context for the Search Service ProviderHow to: Add a Content Source
How to: Delete a Content Source
How to: Programmatically Manage the Crawl of a Content Source
How to: Programmatically Configure a Crawl Schedule for a Content Source
Concepts
Getting Started with the Enterprise Search Administration Object ModelContent Sources Overview