ApplicationManager (BizTalk Server 範例)
ApplicationManager 範例示範如何使用系統管理物件來啟動或停止 BizTalk 應用程式。
必要條件
您必須擁有BizTalk Server系統管理許可權,才能使用此範例中的系統管理物件。
Windows PowerShell腳本需要Windows PowerShell執行原則,才能允許腳本執行。 如需詳細資訊,請參閱 about_Execution_Policies。
此範例的用途
此範例示範如何使用Microsoft.BizTalk.ExplorerOM命名空間中的BtsCatalogExplorer和Application類別來啟動和停止已部署的 BizTalk 應用程式。 此範例是以 Microsoft Visual C# 撰寫。 本主題也包含Windows PowerShell範例腳本。 此範例示範下列作業:
使用 BtsCatalogExplorer 類別連線到 BizTalk 管理資料庫。
根據應用程式名稱,從 BtsCatalogExplorer 尋找應用程式實例。
提交應用程式的啟動或停止命令。
此範例的位置
這個範例位於下列 SDK 位置:
<範例路徑>\管理員\ExplorerOM\ApplicationManager
下表顯示此範例中的檔案,並描述其用途。
檔案 | Description |
---|---|
Program.cs | 此範例中示範之作業的 Visual C# 原始程式檔。 |
ApplicationManager.sln,ApplicationManager.csproj,ApplicationManager.suo | 此範例的方案和專案檔。 |
建置和執行此範例
建置此範例
在 Visual Studio 中,開啟 ApplicationManager.sln 方案檔。
在 [建置] 功能表上,按一下 [建置方案]。
執行這個範例
開啟命令視窗並巡覽至下列資料夾:
<範例路徑>\管理員\ExplorerOM\ApplicationManager\bin\Debug
執行檔案 ApplicationManager.exe 提供下列兩個已排序的命令列引數:
< start|stop > First 引數是在已部署的應用程式上執行的作業。
< ApplicationName > Second 引數是已部署應用程式的名稱。
例如:
ApplicationManager.exe stop MyBizTalkApp
執行具有命令列參數不足的範例會顯示使用語法。 例如:
Usage: ApplicationManager <start|stop> <Application Name> Where: <Application Name> = The name of the application that needs to be changed Example: ApplicationManager start Application1
Windows PowerShell 指令碼範例
下列Windows PowerShell腳本片段可用來示範ExplorerOM類別的相同功能:
#=== Make sure the ExplorerOM assembly is loaded ===#
[void] [System.reflection.Assembly]::LoadWithPartialName("Microsoft.BizTalk.ExplorerOM")
#=== Connect the BizTalk Management database ===#
$Catalog = New-Object Microsoft.BizTalk.ExplorerOM.BtsCatalogExplorer
$Catalog.ConnectionString = "SERVER=.;DATABASE=BizTalkMgmtDb;Integrated Security=SSPI"
#=== Loop through applications in the catalog trying to find a name match ===#
foreach($app in $Catalog.Applications)
{
if ($($app.Name) -ieq $args[1])
{
#=== The first command-line argument should be "start" or "stop" ===#
if ($args[0] -ieq "start")
{
Write-Host `r`nIssuing start command to $app.Name...`r`n
$app.Start([Microsoft.BizTalk.ExplorerOM.ApplicationStartOption] "StartAll")
$Catalog.SaveChanges()
}
if ($args[0] -ieq "stop")
{
Write-Host `r`nIssuing stop command to $app.Name...`r`n
$app.Stop([Microsoft.BizTalk.ExplorerOM.ApplicationStopOption] "StopAll")
$Catalog.SaveChanges()
}
}
}
腳本需要與 Visual C# 範例相同的命令列引數。 以下是執行Windows PowerShell腳本以啟動已部署 BizTalk 應用程式的範例:
PS C:\> .\ApplicationManager.ps1 start MyBizTalkApp
Issuing start command to MyBizTalkApp ...