Freigeben über


„Hello World1“-Beispiel für Geschäftsregeln (BizTalk Server-Beispiel)

Das Geschäftsregelbeispiel „Hello World1“ veranschaulicht das Erstellen eines BizTalk-Regelsatzes, der anschließend in einer Datei (SampleRuleSet.xml) gespeichert, anschließend geladen und basierend auf einem Beispielfaktensatz ausgeführt wird. Der Beispielregelsatz enthält eine einfache Regel, die sich auf ein XML-Element bezieht, und .NET-basierte Objekte (Eigenschaften und Elemente) als Bedingungen in der Regeldefinition.

Ziel des Beispiels

Dieses Beispiel erstellt eine ausführbare Datei, die die folgende Abfolge von Schritten ausführt:

  1. Ruft die Methode CreateRuleset auf, um den im Abschnitt Hinweise beschriebenen Regelsatz zu erstellen.

  2. Ruft die SaveToFile-Methode auf, um das Speichern eines Regelsatzes in einer Datei zu veranschaulichen.

  3. Ruft die Methode LoadFromFile auf, um das Laden eines Regelsatzes aus einer Datei zu veranschaulichen.

  4. Erstellen von Beispielfakten, auf die der Regelsatz angewendet werden soll.

  5. Anwenden des Regelsatzes auf die Beispielfakten zum Generieren der Bildschirmausgabe.

  6. Anhalten des Vorgangs, was Ihnen das Ändern der Regelsatzdatei SampleRuleStore.xml ermöglicht.

  7. Bereinigen, indem die Regelsatzdatei als Vorbereitung der anschließenden Ausführung des Beispiels gelöscht wird.

Speicherort dieses Beispiels

<Beispielpfad>\Geschäftsregeln\Geschäftsregeln Hello World1\

In der folgenden Tabelle werden die Dateien in diesem Beispiel samt Zweck beschrieben.

Datei(en) BESCHREIBUNG
App.ico, AssemblyInfo.cs, BusinessRulesHelloWorld1.csproj, BusinessRulesHelloWorld1.sln Projekt-, Lösungs- und zugehörige Dateien für den Teil dieses Beispiels, in dem ein Regelsatz erstellt, gespeichert und geladen wird.
HelloWorld1.cs Visual C#-Datei, die Methoden enthält, um das Erstellen eines Regelsatzes, das Speichern eines Regelsatzes in einer Datei und das Laden eines Regelsatzes aus einer Datei zu veranschaulichen. Diese Datei enthält auch umschließenden Code, der diese Methoden aufruft und anschließend den erstellten Regelsatz ausführt.
Cleanup.bat Wird zum Aufheben der Bereitstellung von Assemblys und zum Entfernen aus dem globalen Assemblycache (GAC) verwendet. Entfernt Sende- und Empfangsports. Entfernt nach Bedarf virtuelle Verzeichnisse von Microsoft Internetinformationsdienste (IIS).
SampleDocumentInstance.xml Beispieleingabedatei, die das in der Datei SampleSchema.xsd definierte Schema einhält.
SampleSchema.xsd Schemadatei, die ein einfaches Schema mit einem Element definiert, auf das von dem Regelsatz verwiesen wird, der in der Visual C#-Datei HelloWorld1.cs erstellt wird.
Setup.bat Dient zum Erstellen und Initialisieren dieses Beispiels.
Im Ordner \MySampleLibrary:

AssemblyInfo.cs, MySampleLibrary.csproj, MySampleLibrary.sln
Projekt-, Lösungs- und zugehörige Dateien für den Teil dieses Beispiels, in dem die Klasse bereitgestellt wird, die die Objekte definiert, auf die von dem erstellten Regelsatz verwiesen wird.
Im Ordner \MySampleLibrary:

MySampleLibraryClass.cs
Visual C#-Datei, die die Eigenschaft enthält, auf die im IF-Teil der erstellten Regel verwiesen wird, und die Methode, die im THEN-Teil der erstellten Regel aufgerufen werden kann.

Erstellen und Initialisieren dieses Beispiels

Mithilfe des folgenden Verfahrens können Sie das Geschäftsregelbeispiel „Hello World1“ erstellen und initialisieren.

So erstellen und initialisieren Sie dieses Beispiel

  1. Navigieren Sie in einem Befehlsfenster zum folgenden Ordner:

    <Beispielpfad>\Geschäftsregeln\Geschäftsregeln Hello World1\

  2. Führen Sie die Datei "Setup.bat" aus, von der folgende Aktionen ausgeführt werden:

    • Kompiliert und stellt die Microsoft Visual Studio-Projekte für dieses Beispiel bereit.

    Hinweis

    Sie sollten sicherstellen, dass von BizTalk Server während des Erstellungs- und Initialisierungsprozesses keine Fehler gemeldet wurden, bevor Sie dieses Beispiel ausführen.

    Hinweis

    Wenn Sie die Projekte in diesem Beispiel öffnen und erstellen möchten, ohne die Datei Setup.bat auszuführen, müssen Sie zunächst ein Schlüsselpaar mit starkem Namen mit dem entsprechenden .NET Framework-Hilfsprogramm für starke Namen (sn.exe) erstellen. Verwenden Sie dieses Schlüsselpaar zum Signieren der resultierenden Assemblys.

    Hinweis

    Wenn Sie von "Setup.bat" vorgenommene Änderungen rückgängig machen möchten, führen Sie "Cleanup.bat" aus. "Cleanup.bat" müssen Sie ausführen, bevor "Setup.bat" ein zweites Mal ausgeführt wird.

Ausführen dieses Beispiels

Mithilfe des folgenden Verfahrens können Sie das Geschäftsregelbeispiel „Hello World1“ ausführen.

So führen Sie dieses Beispiel aus

  1. Navigieren Sie in einem Befehlsfenster zum folgenden Ordner:

    <Beispielpfad>\Geschäftsregeln\Geschäftsregeln Hello World1\bin\Debug\

  2. Geben Sie im Befehlszeilenfenster den Namen der ausführbaren Datei für dieses Beispiel ein (BusinessRulesHelloWorld1.exe), und drücken Sie dann die EINGABETASTE.

    Hinweis

    Während der Ausführung erzeugt dieses Beispiel die Regelsatzdatei SampleRuleStore.xml im Ordner bin\Debug . Während die ausführbare Datei darauf wartet, dass Sie abschließend die EINGABETASTE drücken, können Sie den Inhalt dieser Datei untersuchen. Denken Sie daran, sie zu schließen, bevor Sie abschließend eine Taste drücken. Andernfalls kann die ausführbare Datei sie ggf. nicht als Vorbereitung nachfolgender Ausführungen des Beispiels löschen.

    Wenn Sie dieses Beispiel basierend auf der Art des erstellten Regelsatzes mit der bereitgestellten Beispieleingabedatei SampleDocumentInstance.xml ausführen, die für das ID-Element den Wert 1 definiert hat, wird die folgende Ausgabe angezeigt:

Creating a new ruleset ...  
Saving ruleset to SampleRuleStore.xml ...  
Loading ruleset ...  
Asserting objects ...  
Executing ...  
MySampleBusinessObject Class -- MySampleMethod executed for object 2 with parameter 5  
MySampleBusinessObject Class -- MySampleMethod executed for object 3 with parameter 5  
Press any key to finish ...  

Hinweis

Die fett formatierte Ausgabe, sowohl im vorherigen Code als auch im folgenden Code, ist die Ausgabe, die vom Beispielgeschäftsobjekt erzeugt wird, das durch die Dateien im Ordner MySampleLibrary definiert wird, auf den der Regelsatz verweist.

Wenn Sie den Dem ID-Element zugeordneten Wert in der Beispieleingabedatei SampleDocumentInstance.xml von 1 (1) in zwei (2) ändern, ändert sich die Ausgabe wie folgt:

Creating a new ruleset ...  
Saving ruleset to SampleRuleStore.xml ...  
Loading ruleset ...  
Asserting objects ...  
Executing ...  
MySampleBusinessObject Class -- MySampleMethod executed for object 1 with parameter 5  
MySampleBusinessObject Class -- MySampleMethod executed for object 3 with parameter 5  
Press any key to finish ...  

Sie erhalten keine Ausgabezeile für Objekte der MySampleBusinessObject-Klasse , deren MyValue-Eigenschaft auf einen Wert (während der Konstruktion) festgelegt ist, der dem ID-Element in der Beispieleingabedatei SampleDocumentInstance.xml zugeordneten Wert entspricht.

Kommentare

Die in der CreateRuleset()- Methode programmgesteuert erstellte Regel zeigt Folgendes an:

IF

MySampleBusinessObject.MyValue entspricht nicht dem Wert des ID-Elements im XML-Dokument.

THEN

MySampleBusinessObject.MySampleMethod(int) mit einem ganzzahligen Parameter, in diesem Fall hart codiert in die Konstante fünf (5). Diese Methode erzeugt die Ausgabezeilen, die die MySampleBusinessObject-Klasse –-beginnen.

Diese Regel hängt von Folgendem ab:

  • Eine MySampleBusinessObject-Klasse mit einer öffentlichen Eigenschaft namens MyValue und einer öffentlichen Methode namens MySampleMethod (die einen ganzzahligen Parameter akzeptiert).

  • Ein XSD-Schema (XML Schema Definition Language), das ein XML-Dokument definiert, das ein ID-Element enthält.

    Sie definieren Regeln hinsichtlich Klassen und Schemas, doch während der Ausführung sind Objektinstanzen der relevanten Klassen und Dokumentinstanzen der relevanten Schemas erforderlich. Sie werten die Regeln im Vergleich mit diesen Laufzeitinstanzen (die als Fakten bezeichnet werden) aus. In diesem Beispiel handelt es sich bei den Fakten um mehrere Instanzen des MySampleBusinessObject-Objekts, die mit unterschiedlichen Werten für die MyValue-Eigenschaft und einem einzelnen XML-instance des definierten Schemas erstellt werden, das einen Wert für das ID-Element enthält.

Weitere Informationen

Geschäftsregeln (Ordner für BizTalk Server-Beispiele)