ApplicationManager (BizTalk Server Sample)
The ApplicationManager sample demonstrates how to start or stop a BizTalk application by using the administration objects.
Prerequisites
You must have BizTalk Server administrative privileges to use the administrative objects in this sample.
The Windows PowerShell script requires the Windows PowerShell execution policy to allow script execution. For more information, see about_Execution_Policies.
What This Sample Does
This sample demonstrates using the BtsCatalogExplorer and Application classes from the Microsoft.BizTalk.ExplorerOM namespace to start and stop a deployed BizTalk application. The sample is written in Microsoft Visual C#. A Windows PowerShell example script is also included in this topic. The sample demonstrates the following operations:
Connecting to the BizTalk Management database by using the BtsCatalogExplorer class.
Finding an application instance from BtsCatalogExplorer based on application name.
Submitting a start or stop command for the application.
Where To Find This Sample
The sample is located in the following SDK location:
<Samples Path>\Admin\ExplorerOM\ApplicationManager
The following table shows the files in this sample and describes their purpose.
File(s) | Description |
---|---|
Program.cs | Visual C# source file for operations demonstrated in this sample. |
ApplicationManager.sln,ApplicationManager.csproj,ApplicationManager.suo | Solution and project files for the sample. |
Building and Running This Sample
Build this sample
In Visual Studio, open the solution file ApplicationManager.sln.
On the Build menu, click Build Solution.
Run this sample
Open a command window and navigate to the following folder:
<Samples Path>\Admin\ExplorerOM\ApplicationManager\bin\Debug
Run the file ApplicationManager.exe providing the following two ordered command-line arguments:
<start|stop> First argument is the operation to be performed on the deployed application.
<ApplicationName> Second argument is the name of the deployed application.
For example:
ApplicationManager.exe stop MyBizTalkApp
Running the sample with insufficient command-line parameters displays the usage syntax. For example:
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 Script Example
The following Windows PowerShell script fragment can be used to demonstrate the same features of the ExplorerOM classes:
#=== 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()
}
}
}
The script expects the same command-line arguments as the Visual C# sample. Here is an example of running the Windows PowerShell script to start a deployed BizTalk application:
PS C:\> .\ApplicationManager.ps1 start MyBizTalkApp
Issuing start command to MyBizTalkApp ...