Поделиться через


Класс AudienceRuleComponent

Представляет одно правило в аудитории.

Иерархия наследования

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

Пространство имен:  Microsoft.Office.Server.Audience
Сборка:  Microsoft.Office.Server.UserProfiles (в Microsoft.Office.Server.UserProfiles.dll)

Синтаксис

'Декларация
<SerializableAttribute> _
<SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel := True)> _
<SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel := True)> _
Public Class AudienceRuleComponent
'Применение
Dim instance As AudienceRuleComponent
[SerializableAttribute]
[SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel = true)]
[SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel = true)]
public class AudienceRuleComponent

Замечания

Аудитория может состоять из одного или нескольких компонентов правила. Каждое правило подключена оператором, например AND или OR. Каждый компонент правила включает три части: операнд, оператор и значение.

Класс AudienceRuleComponent содержит строку открытого поля для задания содержимого левой, операторов и значений справа содержимого при создании нового правила аудитории для аудитории. Все правила аудитории правило, которое создается для свойства типа DateTime будет иметь значение, указанное в формате инвариантного языка и региональных параметров. Для всех других типов свойств, таких как int, long, doubleи floatв формат веб-узла используется для указания значения правил.

Примеры

Следующий пример кода добавляет сложные правила для аудитории с именем «Подключение Иван и Сергей». В этом примере используется AND, ORи ( and ) операторы для объединения нескольких правил и правила для группы.

Примечание

При создании аудитории сложные правила, нельзя просматривать или изменять ее свойства или удалить его с помощью пользовательского интерфейса (UI). Тем не менее можно использовать пользовательский Интерфейс для просмотра его членов.

Замените servername и другие строки на фактические значения перед выполнением кода. Также добавьте в проект 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

Потокобезопасность

Любые общедоступные элементы static (Shared в Visual Basic) этого типа являются потокобезопасными. Не гарантируется, что любые элементы экземпляров потокобезопасны.

См. также

Справочные материалы

Элементы AudienceRuleComponent

Пространство имен Microsoft.Office.Server.Audience