AudienceManager 类

表示访问者类的入口点。

继承层次结构

System.Object
  Microsoft.Office.Server.Audience.AudienceManager

命名空间:  Microsoft.Office.Server.Audience
程序集:  Microsoft.Office.Server.UserProfiles(位于 Microsoft.Office.Server.UserProfiles.dll 中)

语法

声明
<SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel := True)> _
<SharePointPermissionAttribute(SecurityAction.Demand, ObjectModel := True)> _
Public Class AudienceManager _
    Implements IRuntimeFilter2, IRuntimeFilter
用法
Dim instance As AudienceManager
[SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel = true)]
[SharePointPermissionAttribute(SecurityAction.Demand, ObjectModel = true)]
public class AudienceManager : IRuntimeFilter2, 
    IRuntimeFilter

备注

AudienceManager类是Microsoft SharePoint Server 2010中的访问群体功能的入口点。它提供了IRuntimeFilter,它允许 Web 部件和其他内容,指向特定访问群体目标的实现。AudienceManager类支持运行时功能 (如检索用户所属的访问群体列表。创建AudienceManager类的一个实例后,您可以检索个别观众类型、 列表的访问群体,以及与用户相关联的用户的列表。

有几个默认身份验证规则和实现的AudienceManager对象的作用域:

  • SharePoint 服务器的管理员网站用户组的成员可以查看和修改与门户网站相关联的访问群体。

  • 管理员网站用户组的成员还可以查看其他与它们共享服务的门户网站访问者信息。共享的服务是由多个服务器场共享的门户服务。从一台服务器,两个或多个服务器场,进行集中管理服务。

  • 父门户网站的管理员网站用户组的成员可以列出并查看子门户网站的访问者信息。此信息是只读的。

  • 读者或讨论参与者网站用户组的成员可以访问仅对他或她所属的访问群体的列表。重载的GetUserAudienceIDs方法返回此信息。

示例

此代码示例演示如何创建基于规则的访问群体可以向其目标内容。

备注

访问群体时才创建 ;它不被编译,并尚未添加规则。可以通过用户界面或对象模型,添加规则,然后通过使用用户界面中搜集访问群体。您可以通过使用AudienceJob类来搜集访问群体。

请先将 servername 和其他字符串替换为实际值,然后再运行代码示例。还要在 Microsoft Visual Studio 项目中添加以下引用:

  • Microsoft.Office.Server

  • Microsoft.SharePoint

  • System.Web

using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SharePoint.Administration;
using Microsoft.Office.Server.Audience;
using Microsoft.SharePoint;
using Microsoft.Office.Server;
using System.Web;

namespace AudienceConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                using (SPSite site = new SPSite("https://servername"))
                {
                    SPServiceContext context = SPServiceContext.GetContext(site);
                    AudienceManager audManager = new AudienceManager(context);

                    AudienceCollection ac = audManager.Audiences;
                    Audience a = null;
                    string sAudName = "Customer Connection";
                    string sDescription = "Members of the Customer Connection v-team";

                    try
                    {
                        a = ac.Create(sAudName, sDescription);
                    }
                    catch (AudienceDuplicateNameException e)
                    {
                        //Your exception handling code here
                    }
                    catch (AudienceException e1)
                    {
                        //Your exception handling code here
                    }
                }

            }
            catch (Exception exception)
            {
                Console.WriteLine(exception.ToString());
                Console.Read();
            }

        }
    }
}
Imports System
Imports System.Collections.Generic
Imports System.Text
Imports Microsoft.SharePoint.Administration
Imports Microsoft.Office.Server.Audience
Imports Microsoft.SharePoint
Imports Microsoft.Office.Server
Imports System.Web

Namespace AudienceConsoleApp
    Module Program
        Sub Main(ByVal args() As String)
            Try
                Using site As New SPSite("https://servername")
                    Dim context As SPServiceContext = SPServiceContext.GetContext(site)
                    Dim audManager As New AudienceManager(context)

                    Dim ac As AudienceCollection = audManager.Audiences
                    Dim a As Audience = Nothing
                    Dim sAudName As String = "Customer Connection"
                    Dim sDescription As String = "Members of the Customer Connection v-team"

                    Try
                        a = ac.Create(sAudName, sDescription)
                    Catch e As AudienceDuplicateNameException
                        'Your exception handling code here
                    Catch e1 As AudienceException
                        'Your exception handling code here
                    End Try
                End Using

            Catch exception As Exception
                Console.WriteLine(exception.ToString())
                Console.Read()
            End Try

        End Sub
    End Module
End Namespace

线程安全性

该类型的任何公共 静态 (已共享 在 Visual Basic 中) 成员都是线程安全的。不保证任何实例成员都是线程安全的。

另请参阅

引用

AudienceManager 成员

Microsoft.Office.Server.Audience 命名空间