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
次の表は、このサンプルのファイルとその目的を示しています。
ファイル | 説明 |
---|---|
Program.cs | このサンプルで示す操作用の Visual C# ソース ファイル。 |
ApplicationManager.sln、ApplicationManager.csproj、ApplicationManager.suo | このサンプルのソリューション ファイルとプロジェクト ファイル。 |
このサンプルのビルドおよび実行
このサンプルをビルドする
Visual Studio で、ソリューション ファイル ApplicationManager.sln を開きます。
[ビルド] メニューの [ソリューションのビルド] をクリックします。
このサンプルを実行する
コマンド ウィンドウを開き、次のフォルダーに移動します。
<サンプル パス>\管理\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 ...