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.