共用方式為


ApplicationManager (BizTalk Server 範例)

ApplicationManager 範例示範如何使用系統管理物件來啟動或停止 BizTalk 應用程式。

必要條件

  • 您必須擁有BizTalk Server系統管理許可權,才能使用此範例中的系統管理物件。

  • Windows PowerShell腳本需要Windows PowerShell執行原則,才能允許腳本執行。 如需詳細資訊,請參閱 about_Execution_Policies

此範例的用途

此範例示範如何使用Microsoft.BizTalk.ExplorerOM命名空間中的BtsCatalogExplorerApplication類別來啟動和停止已部署的 BizTalk 應用程式。 此範例是以 Microsoft Visual C# 撰寫。 本主題也包含Windows PowerShell範例腳本。 此範例示範下列作業:

  • 使用 BtsCatalogExplorer 類別連線到 BizTalk 管理資料庫。

  • 根據應用程式名稱,從 BtsCatalogExplorer 尋找應用程式實例。

  • 提交應用程式的啟動或停止命令。

此範例的位置

這個範例位於下列 SDK 位置:

<範例路徑>\管理員\ExplorerOM\ApplicationManager

下表顯示此範例中的檔案,並描述其用途。

檔案 Description
Program.cs 此範例中示範之作業的 Visual C# 原始程式檔。
ApplicationManager.sln,ApplicationManager.csproj,ApplicationManager.suo 此範例的方案和專案檔。

建置和執行此範例

建置此範例

  1. 在 Visual Studio 中,開啟 ApplicationManager.sln 方案檔。

  2. 在 [建置] 功能表上,按一下 [建置方案]。

執行這個範例

  1. 開啟命令視窗並巡覽至下列資料夾:

    <範例路徑>\管理員\ExplorerOM\ApplicationManager\bin\Debug

  2. 執行檔案 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 ...

另請參閱

Admin-ExplorerOM (BizTalk Server Samples 資料夾)