Freigeben über


Gemeinsame Windows Server AppFabric-Beispielanwendung

Diese Beispielanwendung besteht aus einer Beispiel-Vertriebsclientanwendung und einer Vertriebsdienstanwendung. Diese Beispielanwendung ist dafür konzipiert, mit den anderen Windows Server AppFabric-Beispielen als allgemeine Anwendung verwendet zu werden, um die in den Beispielen gezeigten AppFabric-Funktionen zu demonstrieren.

Die Vertriebsdienstanwendung modelliert einen einfachen Workflow für die Auftragsverarbeitung, der integrierte Persistenz- und Nachverfolgungsunterstützung nutzen kann, die von AppFabric bereitgestellt wird. Die Dienstanwendung stellt einen Katalog mit Artikeln für Clientanwendungen zur Verfügung und simuliert dann die Verarbeitung der Aufträge, die von jedem Client erteilt wurden.

Hinweis

Beispiele werden nur zu Anschauungszwecken bereitgestellt. Sie sind nicht für die Verwendung in einer Produktionsumgebung gedacht und wurden nicht in einer Produktionsumgebung getestet. Microsoft bietet keinen technischen Support für diese Beispiele.

Das Beispielpaket für AppFabric (das die Beispielanwendung enthält) kann unter https://go.microsoft.com/fwlink/?LinkId=169336 heruntergeladen werden.

Voraussetzungen

Diese Beispielanwendung richtet sich an Benutzer, die die folgenden Kenntnisse besitzen:

  • Grundlegende Kenntnisse der Internetinformationsdienste (Internet Information Services, IIS)

  • Grundlegende Kenntnisse von WCF- (Windows Communication Foundation) und WF-Anwendungen (Windows Workflow Foundation).

  • Grundlegende Kenntnisse der Windows PowerShell

  • Grundlegende Kenntnisse zu Microsoft SQL Server

Speicherort und Dateien der Beispielanwendung

Dateiname Beschreibung

OrderApplication.sln

Die Projektmappendatei für die beiden Projekte.

SaleClient

Der Ordner, der die Vertriebsclient-Projektdateien enthält.

App.config, OrderManager.cs, Program.cs, SaleClient.csproj, SaleClientForm.cs, SaleClientForm.Designer.cs, SaleClientForm.resx, AssemblyInfo.cs, Resources.Designer.cs, Resources.resx, Settings.Designer.cs, Settings.settings.

Die Vertriebsclient-Projektdateien.

OrderApplication

Der Ordner, der die Vertriebsdienst-Projektdateien enthält.

CancelOrder.cs, CatalogInitializer.cs, CatalogTypes.cs, ProcessNewOrder.cs, SaleService.csproj, SaleService.xamlx, SaleServiceTracking.tp, ShippingProcessor.cs, web.config, AssemblyInfo.cs.

Die Vertriebsdienst-Projektdateien.

Einrichten dieser Beispielanwendung

  1. Starten Sie Visual Studio 2010 mit Administratorberechtigungen, und öffnen Sie <Beispiele<\SampleApplication\OrderApplication\OrderApplication.sln. Dabei ist <Beispiele> der Pfad, unter dem Sie die AppFabric-Beispiele installiert haben. Wenn Sie aufgefordert werden, das virtuelle Verzeichnis zu erstellen, klicken Sie auf Ja.

    Hinweis

    In den folgenden Schritten wird gezeigt, wie die Auftragsanwendung mit Visual Studio 2010 bereitgestellt und erstellt und der Standardanwendungspool für die Verwendung mit dem Vertriebsdienst konfiguriert wird.

  2. Klicken Sie im Menü Erstellen auf Projektmappe erstellen. Vergewissern Sie sich im Ausgabefenster, dass die beiden Projekte ohne Fehler erstellt werden.

  3. Starten Sie IIS-Manager (Internet Information Services, Internetinformationsdienste), indem Sie auf Start, auf Alle Programme, auf Windows Server AppFabric und dann auf IIS-Manager klicken.

  4. Erweitern Sie den Knoten Server in der Strukturansicht auf der linken Seite, und klicken Sie dann auf Anwendungspools.

  5. Klicken Sie in der Liste der Anwendungspools mit der rechten Maustaste auf DefaultAppPool, und klicken Sie dann auf Erweiterte Einstellungen.

  6. Legen Sie die Angabe .NET Framework-Version mithilfe der Dropdownauswahl auf v4.0 fest, und klicken Sie dann auf OK.

Ausführen dieses Beispiels

  1. Führen Sie die Clientanwendung aus: <Beispiele>\SampleApplication\ OrderApplication\SaleClient\bin\Debug\SaleClient.exe.

  2. Die Formularanwendung gibt eine Anforderung an den Vertriebsdienst aus, den aktuellen täglichen Vertriebskatalog zu senden. Abhängig von Ausführungsstatus des Diensts kann dies ungefähr zehn Sekunden dauern.

  3. Beachten Sie die Ablaufinformationen für den zurückgegebenen Katalog, die angeben, dass der Katalog in ungefähr drei Minuten abläuft, wenn keine Bestellung aufgegeben wird. Ändern Sie die Bestellmenge für 24-Zoll-Monitore in den Wert 2, und drücken Sie dann die TAB-TASTE, um das Bestellformular zu aktualisieren. Die Gesamtrechnungssumme sollte nun 531,98 US-Dollar betragen. Wenn der Katalog abläuft, können Sie auf Neuen Katalog abrufen klicken, um einen neuen Vertriebskatalog vom Dienst anzufordern.

  4. Klicken Sie innerhalb von drei Minuten nach dem Empfang des Vertriebskatalogs (der Katalog läuft nach drei Minuten ab) auf Auftrag aufgeben, und stellen Sie dann sicher, dass sich der Auftragsstatus in Auftrag empfangen ändert. Die Variable StatusText im Workflow erfasst diese Statusänderung. Sie können die Anwendung mit einem Nachverfolgungsprofil konfigurieren, um diese Variable nachzuverfolgen. Die SaleClient-Anwendung fragt den Workflow ab und zeigt, das der Auftrag innerhalb einer Minute erfüllt wurde. Nach einer weiteren Minute wird die Bestellung versandt. Der Auftrag kann vor dem Versand jederzeit storniert werden, indem Sie auf Auftrag stornieren klicken. Stornieren Sie diesen Auftrag jedoch nicht.

  5. Klicken Sie mit der rechten Maustaste im Feld Auftrags-ID auf den ausgewählten Wert, und klicken Sie dann auf Kopieren, um die Auftrags-ID in die Zwischenablage zu kopieren.

  6. Schließen Sie die Vertriebsclientanwendung. In einem gehosteten Workflow sind keine Aktionen erforderlich. Der Workflow kann jedoch aus Skalierbarkeitsgründen als persistent definiert werden. In diesem Beispiel wird die soeben kopierte Auftrags-ID zum Korrellieren persistenter Workflowinstanzen mit Clientanforderungen verwendet.

  7. Starten Sie eine neue Instanz der Clientanwendung <Beispiele\SampleApplication \OrderApplication\SaleClient\bin\Debug\SaleClient.exe.

  8. Klicken Sie mit der rechten Maustaste im Feld Auftrags-ID, und klicken Sie dann auf Einfügen, um die Auftrags-ID aus der Zwischenablage in das Textfeld Auftrags-ID unten im Formular einzufügen.

  9. Klicken Sie auf Auftrag zurückrufen. Auf diese Weise sollte der aktive Auftrag zurückgerufen und sein aktueller Status angezeigt werden. Der Workflow simuliert die Back-End-Verarbeitung eines Auftrags mit Verzögerungen. Nach ungefähr zwei Minuten durchläuft Auftragsstatus die folgenden Zustände: Auftrag empfangen, Auftrag erfüllt und Auftrag versandt. Der Host kann mit dem benutzerdefinierten Nachverfolgungsprofil konfiguriert werden, um die Statusänderungen des Auftrags für benutzerdefinierte Berichte nachzuverfolgen. Während dieser Auftrag verarbeitet wird, führen Sie eine neue Instanz der Vertriebsclientanwendung aus, um einen Auftrag zu stornieren.

  10. Verschieben Sie die Vertriebsclientanwendung, die den erteilten Auftrag enthält, auf die rechte Seite des Bildschirms.

  11. Starten Sie eine neue Instanz der Clientanwendung <Beispiele\SampleApplication \OrderApplication\SaleClient\bin\Debug\SaleClient.exe.

  12. Klicken Sie auf Vertriebskatalog abrufen, um einen neuen Katalog abzurufen. Abhängig von Ausführungsstatus des Diensts kann dies ungefähr zehn Sekunden dauern.

  13. Wenn der Vertriebskatalog im Formular mit Daten aufgefüllt wird, ändern Sie die Bestellmenge für Quad-Core-Prozessoren mit 2,8 GHz in den Wert 20. Drücken Sie dann die TAB-TASTE, um das Bestellformular zu aktualisieren. Die Gesamtrechnungssumme sollte nun 6.119,80 US-Dollar betragen.

  14. Klicken Sie auf Bestellung aufgeben, bevor der neue Katalog abläuft, und vergewissern Sie sich dann, dass sich der Auftragsstatus in Auftrag empfangen ändert.

  15. Klicken Sie auf Auftrag stornieren, bevor der Auftrag versandt wird, und vergewissern Sie sich dann, dass sich der Auftragsstatus in Auftrag storniert ändert.

Entfernen der bereitgestellten Vertriebsdienst-Webanwendung

  1. Starten Sie IIS-Manager (Internet Information Services, Internetinformationsdienste), indem Sie auf Start, auf Alle Programme, auf Windows Server AppFabric und dann auf IIS-Manager klicken.

  2. Erweitern Sie den Serverknoten in der Strukturansicht auf der linken Seite. Erweitern Sie Sites, und erweitern Sie dann Standardwebsite.

  3. Klicken Sie auf den Knoten OrderApplication, und drücken Sie dann ENTF.

  4. Klicken Sie auf Ja, um zu bestätigen, dass die ausgewählte Anwendung entfernt werden soll.

Veranschaulichung

Die Vertriebsdienstanwendung wurde mithilfe der Anwendungsvorlage des WCF-Workflowdiensts in Microsoft Visual Studio 2010 erstellt. Der vom Vertriebsdienst bereitgestellte Katalog soll einem Angebot in einer Zeitung oder auf einer Onlinewebsite ähneln. Das Angebot ist nur für einen eingeschränkten Zeitraum verfügbar. Nachdem die formularbasierte Clientanwendung den Vertriebskatalog angefordert hat, bleiben dem Benutzer drei Minuten Zeit, eine Bestellung aufzugeben, bevor der Workflow den Katalog ablaufen lässt.

Wenn der Benutzer eine Bestellung aufgibt, wird vom Vertriebsdienst eine Auftrags-ID bereitgestellt. Diese Auftrags-ID wird zum Korrellieren persistenter Workflowinstanzen mit Clientanforderungen verwendet. Die Clientanforderung kann den Workflow mithilfe von Korrelation erneut aktivieren, um den Status eines Auftrags zu überprüfen oder den Auftrag zu stornieren, wenn er noch nicht versandt wurde. Nachdem eine Bestellung beim Vertriebsdienst aufgegeben wurde, ändert sich sein Status in ungefähr drei Minuten von Auftrag empfangen in Auftrag erfüllt. Nach ungefähr drei weiteren Minuten ändert sich der Status des Auftrags in Auftrag versandt.

Ein Beispielnachverfolgungsprofil (SaleServiceTracking.tp) kann zum Aktivieren der Nachverfolgung der Variablen StatusText und PurchaseTotal im Workflow verwendet werden. Auf diese Weise kann der Dienst so konfiguriert werden, dass er Informationen verfolgt, die sich auf diese Variablen an verschiedenen Punkten im Workflow beziehen. Die folgenden Informationen werden mithilfe des in diesem Beispiel bereitgestellten Nachverfolgungsprofils verfolgt:

  • Abgelaufene Kataloge

  • Stornierte Aufträge

  • Erfüllte Aufträge

  • Versandte Aufträge

  • Umsatz gesamt im Zusammenhang mit versandten Aufträgen

Nachdem die Nachverfolgungsinformationen in der Nachverfolgungsdatenbank aufgezeichnet wurden, können Sie einen Statusbericht aus den nachverfolgten Daten generieren. Diese Nachverfolgungsinformationen sind für die Verwendung in anderen Beispielen gedacht.

  2011-12-05