Microsoft.Office.Server.Audience Namespace

Contains classes that create Audiences and target data to a specific Audience.

Microsoft Office SharePoint Portal Server 2003 supported targeting based on compiled rules-based audiences. In addition to rules-based audiences, Microsoft Office SharePoint Server 2007 supports targeting based on SharePoint groups and distribution list (DL) memberships. Office SharePoint Server 2007 also provides the ability to target content to the list item level, rather than just to the list level.


Office SharePoint Server 2007 provides a Web service that finds all SharePoint sites that are targeted to a particular user. For more information, see How to: Use the Published Links Web Service.

Working with the New Namespace for the Audience Object Model

In SharePoint Portal Server 2003, the Microsoft.SharePoint.Portal.Audience namespace is used to work with audiences. In Office SharePoint Server 2007, the Audience object model is implemented in the Microsoft.Office.Server.Audience namespace in Microsoft.Office.Server.dll. This new namespace provides object model support for the new functionality in Office SharePoint Server 2007.

The Microsoft.SharePoint.Portal.Audience namespace still exists for backward compatibility. Your applications and tools written in SharePoint Portal Server 2003 using the Microsoft.SharePoint.Portal.Audience namespace should still work in Office SharePoint Server 2007. However, note that they may not behave as expected, specifically with the new features. For example, if you use the APIs in Microsoft.SharePoint.Portal.Audience, you can only work with rules-based audiences. Therefore, if you are writing new applications or upgrading old applications, you should use the new Microsoft.Office.Server.Audience namespace in Microsoft.Office.Server.dll. All the classes in the Microsoft.SharePoint.Portal.Audience namespace have been deprecated, and you will get a warning every time you use a class or method in the Microsoft.SharePoint.Portal.Audience namespace.

Example 2: Getting the AudienceManager Object in SharePoint Server

The AudienceManager object is the top-level object in the Audience object model. You can get an AudienceManager object in Office SharePoint Server 2007 by using the syntax shown in the following code example. Replace servername with an actual value and add any code that you might need before using this example.

using (SPSite site = new SPSite("http://servername"))
   ServerContext context = ServerContext.GetContext(site);
   AudienceManager audManager = new AudienceManager(context);
   //your code here

Example 2: Personalized Portals

The following code example shows how to target list items to a particular audience.

    AudienceLoader audienceLoader = AudienceLoader.GetAudienceLoader();
   foreach (SPListItem listItem in list.Items)
    // Get roles the list item is targeted to.
     string audienceFieldValue = (string)listItem[k_AudienceColumn];

    // Quickly check if the user belongs to any of those roles.
     if (AudienceManager.IsCurrentUserInAudienceOf(audienceLoader, audienceFieldValue, false))
                    // is a member
                    // not a member


  Class Description
Public class Audience Represents an audience on a Microsoft Office SharePoint Server 2007 site.
Public class AudienceAccountNameNotResolvedException
Public class AudienceADImportException Represents the exception thrown when an error occurs while getting data from Microsoft Active Directory directory service.
Public class AudienceArgumentException Represents the exception thrown when invalid data is supplied to the AudienceCollection and AudienceSiteCollection classes.
Public class AudienceCollection The AudienceCollection class represents a collection of audiences for a portal site.
Public class AudienceCollection.AudienceEnumerator Represents the enumerator for Audience objects in the AudienceCollection object.
Public class AudienceConnectionException Represents the exception thrown when an error occurs when connecting to the database.
Public class AudienceDataValueOutOfRangeException Represents an exception thrown when a data value is out of range.
Public class AudienceDataWrongFormatException
Public class AudienceDuplicateNameException Represents the exception thrown when a user tries to create or rename an audience to a name that already exists in the database.
Public class AudienceException Represents the base class for audience exceptions.
Public class AudienceExecutionException Represents the exception thrown when an error occurs when executing an audience operation, such as creating, removing, or updating an audience.
Public class AudienceGroupOperationException Represents an exception thrown when an error is encountered in the audience while performing a group operation.
Public class AudienceInCompilationException Throws an exception when a user tries to change audience data while audience rules are compiling.
Public class AudienceJob Provides a method to start and stop full and incremental audience compilations
Public class AudienceLeftContent Represents the operand content of an audience rule.
Public class AudienceManager Represents the entry point for the audience classes.
Public class AudienceNameDescriptionLengthException Represents an exception thrown when the length of the audience name exceeds 50 characters or if the description exceeds 254 characters.
Public class AudienceNameID Represents a synopsis of information about an audience, such as name, globally unique identifier (GUID), and whether the audience is still valid.
Public class AudienceNoContentException Represents an exception thrown by the AudienceManager object when an error is encountered while retrieving data.
Public class AudienceNotExistException Implements the exception thrown when an audience cannot be found in the database.
Public class AudienceOperator Represents the definition of an audience operator.
Public class AudienceOperatorException Represents the exception thrown by the Audience class and AudienceManager class when an operator error is encountered for a rule definition.
Public class AudienceOwnerAccountNameLengthException Represents an exception thrown when the length of the owner account name exceeds 400 characters.
Public class AudienceRuleComponent Represents one rule in an audience.
Public class AudienceRuleLeftContentException Represents the exception thrown when an error is encountered in the operand portion of an audience rule.
Public class AudienceRuleRightContentException Represents the exception thrown by the AudienceRuleComponent class when an error in encountered in the rule definition.
Public class AudienceSite Represents an entry point for accessing the audience associated with a portal site.
Public class AudienceSiteCollection Represents a collection of portal sites associated with a specific audience.
Public class AudienceSiteCollection.AudienceSiteEnumerator Enumerates sites in the AudienceSiteCollection class.
Public class AudienceSiteInfo Represents information for a specific instance of the AudienceSite class in addition to the Microsoft.Office.Server.ServerContext object associated with the portal site.
Public class AudienceWrongAccountNameFormatException Represents the exception that is thrown when the wrong account name format is encountered in an audience rule.
Public class EmptyToolPaneControl This class and its members are reserved for internal use and are not intended to be used in your code.
Public class MembershipInfo Stores information from Microsoft Active Directory directory service about a user or group.
Public class UserInfo Represents user information from a user's user profile, such as e-mail address and name.


  Enumeration Description
Public enumeration AudienceAccessRights Represents the access rights one can have on audiences.
Public enumeration AudienceGroupOperation Specifies the operations that can be performed on an audience that has more than one rule.
Public enumeration AudienceJobReturnCode Indicates the status of the RunAudienceJob method call.
Public enumeration AudienceType Represents the type of the audience.