Partager via


AudienceOperator - Classe

Représente la définition d'un opérateur de l'audience.

Hiérarchie d’héritage

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

Espace de noms :  Microsoft.Office.Server.Audience
Assembly :  Microsoft.Office.Server.UserProfiles (dans Microsoft.Office.Server.UserProfiles.dll)

Syntaxe

'Déclaration
<SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel := True)> _
<SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel := True)> _
Public Class AudienceOperator
'Utilisation
Dim instance As AudienceOperator
[SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel = true)]
[SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel = true)]
public class AudienceOperator

Remarques

La classe AudienceOperator représente un opérateur individuel qui est autorisé dans le cadre d'une définition de règle. La liste des opérateurs autorisés inclut "=," ">", ">=," "<", "< =, » « Contient, » « Subordonnés, » « <> », « pas contient, » « Et », » OR,""(",""), » et « Membre de ». Nouveaux opérateurs nécessitent les informations suivantes : le nom d'affichage (si l'opérateur est utilisé dans l'interface utilisateur), le nom de l'opérateur utilisé par les objets de l'audience et indique si l'opérateur peut être appliqué à un groupe ou s'il s'agit d'un opérateur « Non ». Opérations de groupe valides sont déterminées par l'énumération AudienceGroupOperation et inclure "Et", "OR", "(, « et »). »

Cet objet peut être instancié uniquement par l'objet AudienceManager . Utilisez la propriété AudienceOperatorList pour extraire l'objet correct AudienceOperator .

Exemples

L'exemple code suivant ajoute des règles complexes pour une audience appelée « John and Joe Connection ». Cet exemple utilise les opérateurs AND, OR et ( ) pour combiner plusieurs règles et pour les regrouper.

Notes

Si vous créez une audience avec des règles complexes, vous ne pouvez pas afficher ou modifier ses propriétés ni la supprimer à l'aide de l'interface utilisateur. Toutefois, vous pouvez utiliser l'interface utilisateur pour afficher ses données d'appartenance.

Remplacez servername et autres chaînes par des valeurs réelles avant d'exécuter l'exemple de code. Ajoutez également les références suivantes dans votre projet 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();
            }

        }

    }
}

Cohérence de thread

Tous les membres statique (Partagé dans Visual Basic)s publics de ce type sont thread-safe. Cela n’est pas garanti pour les membres d’instance.

Voir aussi

Référence

AudienceOperator - Membres

Microsoft.Office.Server.Audience - Espace de noms