Compartilhar via


Executar uma regra em um computador local

Esse exemplo mostra como executar uma regra em um computador local usando a propriedade OnLocalMachine do objeto RuleConditions.

Exemplo

Observação

O exemplo a seguir é um trecho da programação de aplicativos do Microsoft Office Outlook 2007.

Se sua caixa de correio estiver hospedada em um servidor Exchange, uma regra pode ser executada no servidor Exchange ou no cliente do Outlook. Se a regra for executada no servidor, o Outlook não precisará executar as condições da regra para que haja avaliação e para que as ações de regra sejam concluídas. Se a regra for executada no cliente, o Outlook deverá estar executando essa regra. Se a propriedadeIsLocalRule daregra objeto retornar verdadeiro, a regra será executada no cliente.

Para encontrar ações de regra executadas no cliente por padrão (por exemplo, exibindo um alerta de novo email), a condiçãoOnLocalMachine será ativada automaticamente e a propriedade habilitado será definida como verdadeira somente o lado do cliente do objetoRuleAction. Para ações de regra geralmente executadas no servidor, defina a propriedadehabilitada somente do lado do cliente do objeto RuleAction para permitir a condiçãoOnLocalMachine. Isso forçará a regra a executar localmente no cliente.

Quando a condição OnLocalMachine para uma regra estiver habilitada, a condição OnOtherMachine também será habilitada quando a mesma regra for examinada de outro computador. Uma condição de tipo de regra olConditionOtherMachine indica que a regra pode ser executada apenas em um computador específico, diferente daquele atual e não podem ser programaticamente habilitada ou desabilitada. Por exemplo, se uma regra for criada no computador e a condição de regraOnLocalMachine estiver habilitada, a regra poderá ser executada apenas nesse computador. Se a mesma regra for executada em outro computador, a regra mostrará que a condição OnOtherMachine está habilitada.

No exemplo de código a seguir, DemoOnMachineOnly cria uma regra e permite a condiçãoOnlyToMe e a açãoencaminhar, configurando a propriedade habilitadocomo verdadeiro. A condiçãoOnLocalMachineserá habilitada em seguida, forçando uma regra de servidor a ser executada localmente, e as regras serão salvas. Por padrão, a ação encaminhar e a condição OnlyToMe funcionarão no servidor. Quando a condiçãoOnLocalMachine for habilitada, elas funcionarão como uma regra do lado do cliente.

Se usar o Visual Studio para testar este exemplo de código, adicione primeiro uma referência ao componente da biblioteca de objetos do Microsoft Outlook 15.0 e especifique a variável do Outlook quando importar o namespace Microsoft.Office.Interop.Outlook. A instruçãousing não deve ocorrer diretamente antes das funções no exemplo de código, mas deve ser adicionada antes da declaração de classe pública. The following line of code shows how to do the import and assignment in C#.

using Outlook = Microsoft.Office.Interop.Outlook;
private void DemoOnMachineOnly()
{
    Outlook.Rules rules =
        Application.Session.DefaultStore.GetRules();
    Outlook.Rule rule =
        rules.Create("Demo Machine Only Rule",
        Outlook.OlRuleType.olRuleReceive);
    rule.Conditions.OnlyToMe.Enabled = true;
    rule.Actions.Forward.Enabled = true;
    rule.Actions.Forward.Recipients.Add("someone@example.com");
    rule.Actions.Forward.Recipients.ResolveAll();

    // Force the rule to execute locally
    rule.Conditions.OnLocalMachine.Enabled = true;
    rules.Save(true);
}

Confira também