Compartilhar via


AudienceOperator class

Representa a definição de um operador de público-alvo.

Inheritance hierarchy

System.Object
  Microsoft.Office.Server.Audience.AudienceOperator

Namespace:  Microsoft.Office.Server.Audience
Assembly:  Microsoft.Office.Server.UserProfiles (in Microsoft.Office.Server.UserProfiles.dll)

Syntax

'Declaração
<SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel := True)> _
<SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel := True)> _
Public Class AudienceOperator
'Uso
Dim instance As AudienceOperator
[SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel = true)]
[SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel = true)]
public class AudienceOperator

Comentários

A classe AudienceOperator representa um operador individual que é permitido como parte de uma definição de regra. A lista de operadores permitidos inclui "=," ">", ">=," "<", "< =," "Contém," "Relatórios em", "<>", "não contém," "E", "ou""(," ")," e "Membro de". Novos operadores necessitam as seguintes informações: o nome de exibição (se o operador é usado na interface do usuário), o nome de operador usado pelos objetos público e se o operador pode ser aplicado a um grupo, ou se é um operador "Não". Operações de grupo válidas são determinadas pela enumeração AudienceGroupOperation e incluir "AND", "OR", "(,"e")."

Este objeto pode ser instanciado somente pelo objeto AudienceManager . Use a propriedade AudienceOperatorList para recuperar o objeto correto AudienceOperator .

Examples

O exemplo de código a seguir adiciona regras complexas para uma audiência chamada "Conexão de John e Joe". Este exemplo usa AND, OR e (e) operadores para combinar várias regras e com as regras do grupo.

Dica

Se você criar um público com regras complexas, não é possível exibir ou editar suas propriedades ou excluí-la usando a interface do usuário. No entanto, você pode usar a interface do usuário para exibir seus membros.

Substitua servername e outras seqüências de caracteres com valores reais antes de executar o exemplo de código. Além disso, adicione as seguintes referências em seu projeto do 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;
using System.Collections;

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

                    AudienceCollection ac = AudMgr.Audiences;
                    Audience a = null;
                    bool ruleListNotEmpty = false;

                    try
                    {
                        a = AudMgr.Audiences["John and Joe Connection"];
                    }
                    catch (AudienceArgumentException ex)
                    {
                        //your exception handling code here
                    }

                    ArrayList aRules = a.AudienceRules;
                    if (aRules == null)
                    {
                        aRules = new ArrayList();
                    }
                    else
                    {
                        ruleListNotEmpty = true;
                    }


                    try
                    {
                        //if the rule is not emply, start with a group operator 'AND' to append
                        if (ruleListNotEmpty)
                        {
                            aRules.Add(new AudienceRuleComponent(null, "AND", null));
                        }

                        AudienceRuleComponent r0 = new AudienceRuleComponent(null, "(", null);
                        aRules.Add(r0);

                        AudienceRuleComponent r1 = new AudienceRuleComponent("FirstName", "Contains", "John");
                        aRules.Add(r1);

                        AudienceRuleComponent r2 = new AudienceRuleComponent(null, "AND", null);
                        aRules.Add(r2);

                        AudienceRuleComponent r3 = new AudienceRuleComponent("WorkEmail", "Contains", "example.com");
                        aRules.Add(r3);

                        AudienceRuleComponent r4 = new AudienceRuleComponent(null, ")", null);
                        aRules.Add(r4);

                        AudienceRuleComponent r5 = new AudienceRuleComponent(null, "OR", null);
                        aRules.Add(r5);

                        AudienceRuleComponent r6 = new AudienceRuleComponent(null, "(", null);
                        aRules.Add(r6);

                        AudienceRuleComponent r7 = new AudienceRuleComponent("FirstName", "Contains", "Joe");
                        aRules.Add(r7);

                        AudienceRuleComponent r8 = new AudienceRuleComponent(null, "AND", null);
                        aRules.Add(r8);

                        AudienceRuleComponent r9 = new AudienceRuleComponent("WorkEmail", "Contains", "someexample.com");
                        aRules.Add(r9);

                        AudienceRuleComponent r10 = new AudienceRuleComponent(null, ")", null);
                        aRules.Add(r10);
                        a.AudienceRules = aRules;
                        a.Commit();
                    }
                    catch (AudienceException e)
                    {
                        //Your exception handling code here
                    }
                }
            }

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

        }

    }
}

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.

Ver também

Referência

AudienceOperator members

Microsoft.Office.Server.Audience namespace