AudienceRuleComponent class
Representa uma regra em uma audiência.
Inheritance hierarchy
System.Object
Microsoft.Office.Server.Audience.AudienceRuleComponent
Namespace: Microsoft.Office.Server.Audience
Assembly: Microsoft.Office.Server.UserProfiles (in Microsoft.Office.Server.UserProfiles.dll)
Syntax
'Declaração
<SerializableAttribute> _
<SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel := True)> _
<SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel := True)> _
Public Class AudienceRuleComponent
'Uso
Dim instance As AudienceRuleComponent
[SerializableAttribute]
[SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel = true)]
[SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel = true)]
public class AudienceRuleComponent
Comentários
Um público pode ser composto de um ou mais componentes de regra. Cada regra é conectada por um operador, como AND ou OR. Cada componente da regra inclui três partes: operando, o operador e o valor.
A classe AudienceRuleComponent tem campos de cadeia de caracteres pública para definir o conteúdo à esquerda, operadores e valores à direita conteúdos ao criar uma nova regra de audiência para um público-alvo. Para todas as regras de audiência, uma regra é criada com uma propriedade do tipo DateTime deve ter o valor especificado em um formato de cultura invariável. Para todos os outros tipos de propriedade, como int, long, doublee float, o formato de site é usado para especificar valores de regra.
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 operadores AND, ORe ( and ) 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 (UI). 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 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
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.