Share via


ContentSource Class

Provides the base class for all Enterprise Search content sources.

Inheritance Hierarchy

System.Object
  Microsoft.Office.Server.Search.Administration.ContentSource
    Microsoft.Office.Server.Search.Administration.BusinessDataContentSource
    Microsoft.Office.Server.Search.Administration.CustomContentSource
    Microsoft.Office.Server.Search.Administration.HierarchicalContentSource
    Microsoft.Office.Server.Search.Administration.SharePointContentSource
    Microsoft.Office.Server.Search.Administration.WebContentSource

Namespace:  Microsoft.Office.Server.Search.Administration
Assembly:  Microsoft.Office.Server.Search (in Microsoft.Office.Server.Search.dll)

Syntax

'Declaration
<SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel := True)> _
<SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel := True)> _
Public MustInherit Class ContentSource
'Usage
Dim instance As ContentSource
[SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel = true)]
[SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel = true)]
public abstract class ContentSource

Remarks

For more information about content sources and the new Enterprise Search Administration object model, see Content Sources Overview, and Getting Started with the Search Administration Object Model.

Use the ContentSources property of the Content class to get the collection of content sources for a Shared Service Provider (SSP).

To add a new content source to the collection, use the Create() method of the ContentSourceCollection class.

To delete a content source, use the Delete method of the ContentSource class.

Use an indexer to return a single content source from the ContentSourceCollection object. For example, assuming the collection is assigned to a variable named sspContentSources, use sspContentSources[index] in Microsoft Visual C# or sspContentSources(index) in Microsoft Visual Basic, where index is a string containing the name of the content source or an integer containing the content source ID.

Examples

The following code example writes out the full list of content sources for a Shared Service Provider to the console window.

Prerequisites

Ensure a Shared Service 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.Generic;
using System.Text;
using Microsoft.Office.Server.Search.Administration;
using Microsoft.SharePoint;

namespace ContentSourceSample
{
    class Program
    {
        static void Main(string[] args)
        {
            /*
            Replace <SiteName> with the name of a site
            using the Shared Service Provider.
            */
            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);
            }
        }
    }
}

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See Also

Reference

ContentSource Members

Microsoft.Office.Server.Search.Administration Namespace

Microsoft.Office.Server.Search.Administration.Content

Other Resources

Getting Started with the Enterprise Search Administration Object Model

Content Sources Overview

Managing Content

How to: Retrieve the Content Sources for a Shared Services 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