Compartilhar via


Como a: Adicionar regras simples para um público com AND e OR operadores

Interface de usuário fornece apenas duas opções para definir as regras quando você criar as audiências: Incluir usuários que satisfazem todas as regras, ou incluir usuários que atendem às regras. Além disso, ao usar a interface usuário, é restritas a um máximo de seis regras. Embora isso possa ser suficiente para a maioria das situações, algumas vezes você precisará ter mais de seis regras.

Em tais casos, você pode usar o modelo objeto público. Modelo de objeto do público permite que você criar mais de seis regras para um público. O seguinte exemplo de código adiciona regras simples para um público chamado "Conexão João". Este exemplo usa o operador E para combinar múltiplo regras. Se você desejar apenas uma das regras ser TRUE para os membros, você pode usar o operador OR no local de and.

Substituir nome_do_servidor e outras seqüências de caracteres com real valores antes execução a exemplo de código. Também adicionar o seguinte referências em seu projeto Microsoft Visual Studio:

  • Microsoft.Office.Server

  • Microsoft.SharePoint

  • System.Web

Exemplo

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 Connection"];
                    }
                    catch (AudienceArgumentException ex)
                    {
                        //your exception handling code here
                    }

                    ArrayList aRules = a.AudienceRules;
                    if (aRules == null)
                    {
                        aRules = new ArrayList();
                    }
                    else
                    {
                        ruleListNotEmpty = true;
                    }


                    try
                    {
                        if (ruleListNotEmpty)
                        {
                            aRules.Add(new AudienceRuleComponent(null, "AND", null));
                        }


                        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);
                        a.AudienceRules = aRules;
                        a.Commit();
                    }
                    catch (AudienceException e)
                    {
                        //Your exception handling code here
                    }
                }

            }
            catch (Exception exception)
            {
                Console.WriteLine(exception.ToString());
                Console.Read();
            }

        }
    }


}

Consulte também

Outros recursos

Direcionamento de conteúdo usando o público