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
运行文件 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 ...