Share via


Ausführen einer Regel auf einem lokalen Computer

Dieses Beispiel zeigt, wie Sie mithilfe der OnLocalMachine-Eigenschaft des RuleConditions-Objekts eine Regel auf einem lokalen Computer ausführen.

Beispiel

Hinweis

Das folgende Codebeispiel ist ein Auszug aus Programming Applications für Microsoft Office Outlook 2007.

Wenn Ihr Postfach auf einem Exchange-Server gehostet wird, kann auf dem Exchange-Server oder Outlook-Client eine Regel ausgeführt werden. Bei Ausführung der Regel auf dem Server muss Outlook nicht ausgeführt werden, damit die Regelbedingungen ausgewertet und die Regelaktionen ausgeführt werden. Bei Ausführung der Regel auf dem Client muss Outlook ausgeführt werden, damit die Regel ausgeführt wird. Wenn die IsLocalRule -Eigenschaft des Rule -Objekts true zurückgibt, wird die Regel auf dem Client ausgeführt.

Für Regelaktionen (z. B. Anzeigen einer Benachrichtigung bei neuen E-Mails) wird die OnLocalMachine-Bedingung automatisch aktiviert, und die Enabled-Eigenschaft wird für ein nur clientseitig vorhandenes RuleAction-Objekt auf true festgelegt. Legen Sie für die Regelaktionen, die in der Regel auf dem Server ausgeführt werden, die Enabled-Eigenschaft des nur clientseitig vorhandenen RuleAction-Objekt so fest, dass die OnLocalMachine-Bedingung aktiviert wird. Dadurch wird erzwungen, dass die Regel lokal auf dem Client ausgeführt wird.

Wenn die OnLocalMachine-Bedingung für eine Regel aktiviert ist, wird auch die OnOtherMachine-Bedingung aktiviert, wenn dieselbe Regel auf einem anderen Computer überprüft wird. Eine Regelbedingung des Typs OlConditionOtherMachine gibt an, dass die Regel nur auf einem bestimmten Computer ausgeführt werden kann, der nicht der aktuelle Computer ist, und dass sie nicht programmgesteuert aktiviert oder deaktiviert werden kann. Wenn eine Regel beispielsweise auf dem aktuellen Computer erstellt wird und die OnLocalMachine-Bedingung aktiviert ist, kann die Regel nur auf diesem Computer ausgeführt werden. Wenn die gleiche Regel auf einem anderen Computer ausgeführt wird, zeigt die Regel an, dass die OlConditionOtherMachine-Regelbedingung aktiviert ist.

Im folgenden Codebeispiel erstellt DemoOnMachineOnly eine Regel und aktiviert die OnlyToMe-Bedingung und Forward-Aktion, indem die Enabled-Eigenschaften auf true festgelegt werden. Die OnLocalMachine-Bedingung dann aktiviert, wodurch erzwungen wird, dass eine serverseitige Regel lokal ausgeführt wird, und die Regeln werden gespeichert. Eine Forward-Aktion und eine OnlyToMe-Bedingung werden standardmäßig auf den Server angewendet. Nachdem die OnLocalMachine-Bedingung aktiviert wurde, fungieren diese als clientseitige Regel.

Wenn Sie Visual Studio verwenden, um dieses Codebeispiel zu testen, müssen Sie der Microsoft Outlook 15.0-Objektbibliothekkomponente zuerst einen Verweis hinzufügen und die Outlook-Variable angeben, wenn Sie den Microsoft.Office.Interop.Outlook-Namespace importieren. Die using-Anweisung darf im Codebeispiel nicht direkt vor den Funktionen stehen, sondern muss vor der öffentlichen Class-Deklaration hinzugefügt werden. Die folgende Codezeile zeigt, wie Sie den Import und die Zuweisung in C# vornehmen.

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);
}

Siehe auch