Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Ukázka Rules-ExternalizedPolicy4 demonstruje, jak aktivita ExternalizedPolicy4 umožňuje spouštění existujících objektů .NET Framework 3.5 Windows Workflow Foundation (WF 3.5) RuleSet přímo v rozhraní .NET Framework 4.6.1 Windows Workflow Foundation (WF 4.5) pomocí modulu pravidel, který je součástí WF 3.5. Pomocí této aktivity můžete otevřít a spustit všechny existující WF 3.5 RuleSet. Další informace o stroji pravidel WF 3.5, který je součástí windows Workflow Foundation, naleznete v tématu Úvod do stroje pravidel Windows Workflow Foundation. Další informace o migraci pravidel na WF v rozhraní .NET Framework 4.6.1 najdete v pokynech k migraci.
Projekty v této ukázce
| Název projektu | Popis | Hlavní soubory |
|---|---|---|
| ExternalizedPolicy4 | Obsahuje aktivitu ExternalizedPolicy4 a jeho návrhář WF 4.5. |
ExternalizedPolicy4.cs: definice aktivity. ExternalizedPolicy4Designer.xaml: Vlastní návrhář pro aktivitu ExternalizedPolicy4. Používá editor pravidel (RuleSetDialog) z pravidlového motoru WF 3.5. |
| ImperativeCodeClientSample | Ukázková klientská aplikace, která konfiguruje a spouští pracovní postup pomocí aplikace ExternalizedPolicy4 pomocí imperativního kódu jazyka C# (nepoužívá se žádný návrhář). |
ApplyDiscount.rules: Soubor s definicemi pravidel WF. Order.cs: Typ, který představuje zákaznickou objednávku. Pravidla se použijí na objekty tohoto typu. Program.cs: Nakonfiguruje a spustí pracovní postup, který má aktivitu Policy4 pro použití pravidel definovaných v applyDiscount.rules na instance objektů Order. App.config: Konfigurační soubor s cestou k souboru pravidel. |
| DesignerClientSample | Ukázková klientská aplikace, která konfiguruje a spouští pracovní postup pomocí aplikace ExternalPolicy4 v návrháři WF. |
Sequence1.xaml: Sekvenční pracovní postup, který používá aktivitu Policy4 k provádění vyhodnocení pravidel. Program.cs: Spustí instanci pracovního postupu definovaného v souboru Sequence1.xaml. |
Aktivita ExternalizedPolicy4
Aktivita ExternalizedPolicy4 je NativeActivity akce, která umožňuje spouštění objektů WF 3.5 RuleSet v rámci pracovních postupů WF 4.5. Následující příklad je zjednodušená definice veřejného objektového modelu aktivity.
public class ExternalizedPolicy4Activity<TResult>: CodeActivity
{
public string RulesFilePath
public string RuleSetName
[RequiredArgument]
public InArgument<T> TargetObject
[RequiredArgument]
public OutArgument<T> ResultObject
public OutArgument<ValidationErrorCollection> ValidationErrors
}
| Vlastnictví | Popis |
|---|---|
| RuleSetFilePath | Cesta k souboru rozhraní .NET Framework 3.5 RuleSet , který se má vyhodnotit při spuštění aktivity. |
| NázevSadyPravidel | Název RuleSet, který má být použit v souboru .rules. |
| TargetObject | Objekt, podle kterého se hodnotí Rule objekty v RuleSet. |
| ResultObject | Výsledný objekt po použití pravidel (například pravidla se použijí pro argument Vstup a výsledek je uložen v argumentu Výsledek. |
| Chyba ověření | Seznam chyb ověření vrácených strojem pravidel WF 3.5 při ověřování RuleSet proti cílovému objektu před spuštěním. |
Návrhář aktivity ExternalizedPolicy4
Návrhář ExternalizedPolicy4 umožňuje nakonfigurovat aktivitu tak, aby používala existující sadu pravidel bez psaní kódu. Stačí nastavit cestu, kde se nachází soubor .rules, a zadat RuleSet název, který chcete použít. Umožňuje také upravit RuleSet. Po sestavení řešení ho najdete na panelu nástrojů v části Microsoft.Samples.Activities.Rules. Návrhář umožňuje vybrat soubor .rules a RuleSet. Po kliknutí na tlačítko Upravit sadu pravidel se zobrazí WF 3.5 RuleSetDialog . Toto dialogové okno je znovu hostovaný editor pravidel WF 3.5 a slouží k zobrazení a úpravě pravidel, která aktivita ExternalizedPolicy4 provádí.
Zásady4 a VnějšíZásady4
Aktivita Politiky umožňuje vytvořit a spustit RuleSet .NET Framework 3.5 v pracovním postupu WF 4.5. RuleSet je serializován inline v definici XAML aktivity Policy4. Ukázka ExternalizedPolicy4 ukazuje, jak použít existující externí RuleSet (obsažený v souboru .rules).
Použít tuto ukázku
Ke spuštění této ukázky není nutná žádná speciální nastavení. Otevřete řešení v sadě Visual Studio a stisknutím klávesy F5 spusťte aplikaci.
Tato ukázka obsahuje dvě klientské aplikace: ImperativeCodeClientSample a DesignerClientSample. Klient ImperativeCodeClientSample ukazuje, jak nakonfigurovat a spustit aktivitu ExternalizedPolicy4 pomocí imperativního kódu jazyka C#. DesignerClientSample ukazuje, jak nakonfigurovat a spustit aktivitu ExternalizedPolicy4 pomocí návrháře.
Spuštění aplikace ImperativeCodeClientSample
V sadě Visual Studio otevřete soubor řešení Policy4sample.sln .
V Průzkumníku řešení klikněte pravým tlačítkem myši na projekt ImperativeCodeClientSample a pak vyberte Nastavit jako spouštěný projekt.
Pokud chcete projekt spustit, stiskněte Ctrl+F5.
Spuštění aplikace DesignerClientSample
V sadě Visual Studio otevřete soubor řešení Policy4sample.sln .
V Průzkumníku řešení klikněte pravým tlačítkem myši na projekt DesignerClientSample a pak vyberte Nastavit jako spouštěný projekt.
Stisknutím kláves Ctrl+Shift+B zkompilujte projekt.
Stisknutím kláves Ctrl+F5 spusťte projekt.