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

  1. In your application, set references to the following DLLs:

    • Microsoft.SharePoint.dll

    • Microsoft.Office.Server.dll

    • Microsoft.Office.Server.Search.dll

  2. 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;
    
  3. 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);
    
  4. Retrieve the collection of content sources by using the following code.

    ContentSourceCollection sspContentSources = sspContent.ContentSources;
    
  5. 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 Provider
How 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 Model
Content Sources Overview