Partager via


AudienceRuleComponent - Classe

Représente une règle dans une audience.

Hiérarchie d’héritage

System.Object
  Microsoft.Office.Server.Audience.AudienceRuleComponent

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

Syntaxe

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

Remarques

Une audience peut être composée d'un ou plusieurs composants de la règle. Chaque règle est connecté par un opérateur, tel que AND ou OR. Chaque composant de règle comporte trois parties : opérande, opérateur et valeur.

La classe AudienceRuleComponent a des champs de chaîne publique pour définir le contenu de gauche, opérateur et valeurs le contenu qui convient lorsque vous créez une nouvelle règle d'audience pour une audience. Pour toutes les règles d'audience, une règle qui est créée par rapport à une propriété de type DateTime doit avoir la valeur spécifiée dans un format de culture indifférente. Pour tous les autres types de propriété, par exemple int, long, doubleet float, le format de site est utilisé pour spécifier des valeurs de la règle.

Exemples

L'exemple de code suivant ajoute des règles complexes pour une audience appelée « John et Joe à la connexion ». Cet exemple utilise des opérateurs AND, ORet ( and ) pour combiner plusieurs règles et les règles de groupe.

Notes

Si vous créez une audience avec des règles complexes, vous ne peuvent pas afficher ou modifier ses propriétés ou le supprimer à l'aide de l'interface utilisateur (IU). Toutefois, vous pouvez utiliser l'interface utilisateur pour afficher ses membres.

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 empty, 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();
            }

        }

    }
}
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
Imports System.Collections

Namespace AudienceConsoleApp
    Friend Class Program
        Shared Sub Main(ByVal args() As String)
            Try
                Using site As New SPSite("https://servername")
                    Dim context As ServerContext = ServerContext.GetContext(site)
                    Dim AudMgr As New AudienceManager(context)

                    Dim ac As AudienceCollection = AudMgr.Audiences
                    Dim a As Audience = Nothing
                    Dim ruleListNotEmpty As Boolean = False

                    Try
                        a = AudMgr.Audiences("John and Joe Connection")
                    Catch ex As AudienceArgumentException
                        ' Your exception handling code here.
                    End Try

                    Dim aRules As ArrayList = a.AudienceRules
                    If aRules Is Nothing Then
                        aRules = New ArrayList()
                    Else
                        ruleListNotEmpty = True
                    End If


                    Try
                        ' If the rule is not empty, start with a group operator 'AND' to append.
                        If ruleListNotEmpty Then
                            aRules.Add(New AudienceRuleComponent(Nothing, "AND", Nothing))
                        End If

                        Dim r0 As New AudienceRuleComponent(Nothing, "(", Nothing)
                        aRules.Add(r0)

                        Dim r1 As New AudienceRuleComponent("FirstName", "Contains", "John")
                        aRules.Add(r1)

                        Dim r2 As New AudienceRuleComponent(Nothing, "AND", Nothing)
                        aRules.Add(r2)

                        Dim r3 As New AudienceRuleComponent("WorkEmail", "Contains", "example.com")
                        aRules.Add(r3)

                        Dim r4 As New AudienceRuleComponent(Nothing, ")", Nothing)
                        aRules.Add(r4)

                        Dim r5 As New AudienceRuleComponent(Nothing, "OR", Nothing)
                        aRules.Add(r5)

                        Dim r6 As New AudienceRuleComponent(Nothing, "(", Nothing)
                        aRules.Add(r6)

                        Dim r7 As New AudienceRuleComponent("FirstName", "Contains", "Joe")
                        aRules.Add(r7)

                        Dim r8 As New AudienceRuleComponent(Nothing, "AND", Nothing)
                        aRules.Add(r8)

                        Dim r9 As New AudienceRuleComponent("WorkEmail", "Contains", "someexample.com")
                        aRules.Add(r9)

                        Dim r10 As New AudienceRuleComponent(Nothing, ")", Nothing)
                        aRules.Add(r10)
                        a.AudienceRules = aRules
                        a.Commit()
                    Catch e 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 Class
End Namespace

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

AudienceRuleComponent - Membres

Microsoft.Office.Server.Audience - Espace de noms