OrchestrationBinding (BizTalk Server-Beispiel)
Das Beispiel für die Orchestrierungsbindung zeigt die Verwendung der Microsoft.BizTalk.ExplorerOM -Verwaltungsobjekte zum Konfigurieren und Verwalten von Orchestrierungen.
Voraussetzungen
Für dieses Beispiel muss das HelloWorld-Beispiel bereitgestellt werden, indem setup.bat im < Verzeichnis Samples Path>\Orchestrations\HelloWorld ausgeführt wird.
Sie müssen über BizTalk Server Administratorrechte verfügen, um die Administrativen Objekte in diesem Beispiel verwenden zu können.
Für die Skriptausführung erfordert das Windows PowerShell-Skriptbeispiel die Windows PowerShell-Ausführungsrichtlinie. Weitere Informationen finden Sie unter Überprüfen der Ausführungsrichtlinie.
Ziel des Beispiels
Dieses Beispiel zeigt die Verwendung der Verwaltungsobjekte im Namespace Microsoft.BizTalk.ExplorerOM zum Verwalten von Orchestrierungen. Mit dem Beispiel werden die folgenden Vorgänge unter Verwendung der ExplorerOM -Objekte veranschaulicht:
Herstellen einer Verbindung mit der BizTalk-Verwaltungsdatenbank mithilfe derMicrosoft.BizTalk.ExplorerOM.BtsCatalogExplorer -Klasse.
Beenden und Starten von Orchestrierungen durch Ändern der Status -Eigenschaft der Microsoft.BizTalk.ExplorerOM.BtsOrchestration -Klasse.
Eintragen und Austragen von Orchestrierungen durch Ändern der Status -Eigenschaft der Microsoft.BizTalk.ExplorerOM.BtsOrchestration -Klasse.
Binden und Entbinden von Orchestrierungen durch Verwenden der Ports -Sammlung der Microsoft.BizTalk.ExplorerOM.BtsOrchestration -Klasse.
Speicherort dieses Beispiels
Das Beispiel ist im folgenden SDK-Verzeichnis gespeichert:
<Beispielpfad>\Admin\ExplorerOM\OrchestrationBinding
In der folgenden Tabelle werden die Dateien in diesem Beispiel samt Zweck beschrieben.
Datei(en) | BESCHREIBUNG |
---|---|
OrchestrationBinding.cs | Visual C#-Quelldatei für Vorgänge, die in diesem Beispiel veranschaulicht werden. |
OrchestrationBinding.sln, OrchestrationBinding.csproj, OrchestrationBinding.suo | Die Projektmappen- und Projektdateien für das Beispiel. |
Erstellen dieses Beispiels
Sie müssen zuerst die Schritte zum Erstellen und Initialisieren des Beispiels HelloWorld abgeschlossen haben. Diese Schritte werden in HelloWorld (BizTalk Server Beispiel) bereitgestellt.
Öffnen Sie in Visual Studio die Projektmappendatei OrchestrationBinding.sln.
Klicken Sie im Menü Erstellen auf Projektmappe erstellen.
Dieses Beispiel ausführen
Öffnen Sie ein Befehlsfenster, und navigieren Sie zum folgenden Ordner:
<Beispielpfad>\Admin\ExplorerOM\OrchestrationBinding\bin\Debug
Führen Sie die Datei OrchestrationBinding.exe aus, und befolgen Sie die im Beispiel bereitgestellten Anweisungen.
Beispiel für ein Windows PowerShell-Skript
Mit dem folgenden Windows PowerShell-Skript können identische Funktionen der ExplorerOM -Klassen veranschaulicht werden.
Function RefreshPrompt($oldstatus,$newstatus)
{
Write-Host Orchestration Status should now be `"$oldstatus`"
Write-Host Press F5 in the Orchestrations view of BizTalk Server Administration Console to refresh and verify
if ($newstatus)
{
Write-Host Pressing `<Enter`> now will $newstatus the orchestration using ExplorerOM`.`.`.
Read-Host
Write-Host "=== Please wait, attempting to $newstatus the orchestration... ===`r`n"
}
else
{
write-host `r`n
}
}
#===================#
#=== Main Script ===#
#===================#
#=== Make sure the ExplorerOM assembly is loaded ===#
[void] [System.reflection.Assembly]::LoadWithPartialName("Microsoft.BizTalk.ExplorerOM")
#=== Connect to the BizTalk Management database ===#
$Catalog = New-Object Microsoft.BizTalk.ExplorerOM.BtsCatalogExplorer
$Catalog.ConnectionString = "SERVER=.;DATABASE=BizTalkMgmtDb;Integrated Security=SSPI"
#=== This sample expects the HelloWorld sample orchestration to be using the ===#
#=== default name "Biztalk Application 1" ===#
$HelloWorldApp = $Catalog.Applications["Biztalk Application 1"]
$orch = $HelloWorldApp.orchestrations["Microsoft.Samples.BizTalk.HelloWorld.HelloSchedule"]
#==================================================================#
#=== Register a trap handler to discard changes on exceptions ===#
#=== Execution will continue in the event we need to re-enlist, ===#
#=== re-bind, or restart the orchestration. ===#
#==================================================================#
$ErrorActionPreference="silentlycontinue"
trap { "Exception encountered:`r`n"; $_; "`r`nDiscarding Changes and continuing execution...`r`n";$Catalog.DiscardChanges();}
write-host `r`nMake sure the "HelloWorld" sample application is deployed and running.
write-host By default it will be listed in the BizTalk Server Administration Console
write-host with the application name: `"BizTalk.Application.1`"`r`n
#==========================================================#
#=== Change orchestration state from Started to stopped ===#
#==========================================================#
RefreshPrompt Started stop
$orch.Status = [Microsoft.BizTalk.ExplorerOM.OrchestrationStatus] "Enlisted"
$Catalog.SaveChanges()
#=============================================================#
#=== Change orchestration state from stopped to unenlisted ===#
#=============================================================#
RefreshPrompt Stopped unenlist
$orch.Status = [Microsoft.BizTalk.ExplorerOM.OrchestrationStatus] "Unenlisted"
$Catalog.SaveChanges()
#=============================================================#
#=== Change orchestration state from unenlisted to unbound ===#
#=============================================================#
RefreshPrompt Unenlisted unbind
$orch.Ports["SendInvoicePort"].SendPort = $null
$orch.Ports["ReceivePOPort"].ReceivePort = $null;
$orch.Host = $null
$Catalog.SaveChanges()
#==================================================================#
#=== Change orchestration state from unbound back to unenlisted ===#
#==================================================================#
RefreshPrompt Unenlisted`(Unbound`) re-bind
$orch.Ports["SendInvoicePort"].SendPort = $Catalog.SendPorts["HelloWorldSendPort"]
$orch.Ports["ReceivePOPort"].ReceivePort = $Catalog.ReceivePorts["HelloWorldReceivePort"]
$orch.Host = $Catalog.Hosts["BizTalkServerApplication"]
$Catalog.SaveChanges()
#==================================================================#
#=== Change orchestration state from unenlisted back to stopped ===#
#==================================================================#
RefreshPrompt Unenlisted enlist
$orch.Status = [Microsoft.BizTalk.ExplorerOM.OrchestrationStatus] "Enlisted"
$Catalog.SaveChanges()
#===============================================================#
#=== Change orchestration state from stopped back to started ===#
#===============================================================#
RefreshPrompt Stopped restart
$orch.Status = [Microsoft.BizTalk.ExplorerOM.OrchestrationStatus] "Started"
$Catalog.SaveChanges()
RefreshPrompt Started
Nachfolgend sehen Sie eine Beispielausgabe, die bei der Ausführung des Windows PowerShell-Skripts generiert wird.
PS C:\> .\OrchestrationBind.ps1
Make sure the HelloWorld sample application is deployed and running.
By default it will be listed in the BizTalk Server Administration Console
with the application name: "BizTalk.Application.1"
Orchestration Status should now be "Started"
Press F5 in the Orchestrations view of BizTalk Server Administration Console to refresh and verify
Pressing <Enter> now will stop the orchestration using ExplorerOM...
=== Please wait, attempting to stop the orchestration... ===
Orchestration Status should now be "Stopped"
Press F5 in the Orchestrations view of BizTalk Server Administration Console to refresh and verify
Pressing <Enter> now will unenlist the orchestration using ExplorerOM...
=== Please wait, attempting to unenlist the orchestration... ===
Orchestration Status should now be "Unenlisted"
Press F5 in the Orchestrations view of BizTalk Server Administration Console to refresh and verify
Pressing <Enter> now will unbind the orchestration using ExplorerOM...
=== Please wait, attempting to unbind the orchestration... ===
Orchestration Status should now be "Unenlisted(Unbound)"
Press F5 in the Orchestrations view of BizTalk Server Administration Console to refresh and verify
Pressing <Enter> now will re-bind the orchestration using ExplorerOM...
=== Please wait, attempting to re-bind the orchestration... ===
Orchestration Status should now be "Unenlisted"
Press F5 in the Orchestrations view of BizTalk Server Administration Console to refresh and verify
Pressing <Enter> now will enlist the orchestration using ExplorerOM...
=== Please wait, attempting to enlist the orchestration... ===
Orchestration Status should now be "Stopped"
Press F5 in the Orchestrations view of BizTalk Server Administration Console to refresh and verify
Pressing <Enter> now will restart the orchestration using ExplorerOM...
=== Please wait, attempting to restart the orchestration... ===
Orchestration Status should now be "Started"
Press F5 in the Orchestrations view of BizTalk Server Administration Console to refresh and verify
Weitere Informationen
Admin-ExplorerOM (BizTalk Server Beispielordner)HelloWorld (BizTalk Server Beispiel)