AudienceOperator-Klasse

Die Definition eines Operators Publikum darstellt.

Vererbungshierarchie

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

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

Syntax

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

Hinweise

Die AudienceOperator -Klasse stellt einen einzelnen Operator, der als Teil der Regeldefinition einer zugelassen ist. Die Liste der zulässigen Operatoren enthält "=," ">", ">=," "<", "< =," "Enthält" "Unterstellt," "<>", "nicht enthält," "AND", "OR""(," ")," und "Mitglied von". Neue Operatoren benötigen die folgende Informationen: der Anzeigename (wenn Operator über die Benutzeroberfläche verwendet wird), den Namen des Operators, das Publikum Objekte verwendet und gibt an, ob der Operator auf eine Gruppe angewendet werden kann oder ob es einen Operator "NOT". Gültigen Operationen hängen von der AudienceGroupOperation -Enumeration und umfassen "AND", "OR" "(,"und")."

Dieses Objekt kann nur durch das AudienceManager -Objekt instanziiert werden. Verwenden Sie die AudienceOperatorList -Eigenschaft zum Abrufen des richtigen AudienceOperator -Objekts.

Beispiele

Das folgende Codebeispiel fügt komplexe Regeln für eine Zielgruppe "John und Joe Verbindung" genannt. Dieses Beispiel verwendet AND, OR und (und) Operatoren kombinieren mehrere Regeln und Regeln für Gruppen.

Hinweis

Wenn Sie eine Benutzergruppe mit komplexen Regeln erstellen, können Sie deren Eigenschaften nicht über die Benutzeroberfläche anzeigen oder bearbeiten. Sie können jedoch die Mitgliedschaft in der Benutzergruppe auf der Benutzeroberfläche anzeigen.

Ersetzen Sie servername und andere Zeichenfolgen durch tatsächliche Werte, bevor das Codebeispiel ausgeführt wird. Fügen Sie zudem die folgenden Verweise im Microsoft Visual Studio-Projekt hinzu:

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

        }

    }
}

Threadsicherheit

Alle öffentlichen static (Shared in Visual Basic) Member dieses Typs sind threadsicher. Die Threadsicherheit von Instanzmembern ist nicht gewährleistet.

Siehe auch

Referenz

AudienceOperator-Member

Microsoft.Office.Server.Audience-Namespace