如何向应用程序添加虚拟目录

本主题介绍如何使用 BTSTask 命令行工具向 BizTalk 应用程序添加虚拟目录。 此选项在 BizTalk Server 管理控制台中不可用。 如果您编写了一个自定义 Web Services 或创建了一个用于与 BizTalk Server 连接的 ASP.NET 网站,可能就需要添加虚拟目录,并且希望通过应用程序部署虚拟目录。

将虚拟目录添加到应用程序的另一种方法是为 SOAP 或 HTTP 接收位置指定虚拟目录,如 如何配置 HTTP 接收位置中所述。 在所有情况下,虚拟目标都添加到 BizTalk 管理数据库。 使用命令行添加虚拟目录时,它也会显示在BizTalk Server管理控制台中,显示在向其添加虚拟目录的应用程序的 Resources 文件夹中,以及使用 ListApp 命令时应用程序中的项目列表。 如果您稍后导出该应用程序,然后又将其导入到另一个 BizTalk 组,则虚拟目录显示在“资源”文件夹中。

向应用程序中添加虚拟目录时,请切记以下几点:

  • 可以通过指定覆盖选项来覆盖应用程序中已有的虚拟目录。 仅当现有虚拟目录与要添加的虚拟目录同名时,才需要覆盖选项。 如果未指定,并且应用程序中已存在与要添加的虚拟目录同名的虚拟目录,则添加操作将失败。

  • 使用包含 https 的 URL 添加虚拟目录时,必须在指定的 URL 中使用 http,而不是 https。 如果使用 https,则添加虚拟目录的操作将失败。 即使添加时在 URL 中使用 http,Internet 信息服务元数据库中 URL 的 https 设置仍将有效,而且虚拟目录将正常工作。

  • 如果添加的是 64 位版本 Web Services 的虚拟目录,而尝试在 32 位计算机上安装包含该虚拟目录的应用程序,则无法安装该虚拟目录。 它必须安装在 64 位计算机上。

重要

导入包含虚拟目录的应用程序时,虚拟目录的安全设置是在应用程序导出期间生成 .msi 文件时起作用的那些设置。 如果要向生产环境中部署应用程序,则在导出应用程序之前,应验证设置满足安全要求。

不过,如果目标环境中已经存在虚拟目录,现有虚拟目录的安全设置将生效。 它们不会被更改以匹配您部署的虚拟目录的安全设置。 在这种情况下,您应该验证现有虚拟目录的安全设置是否满足您的要求。

注意

如果虚拟目录使用 HTTPS(安全超文本传输协议)协议,则在导出期间不会保留其安全设置,进行导入时,虚拟目录将继承根的安全设置。 您应该验证安全设置是否满足您的要求。

必备条件

若要执行本主题中的过程,必须使用属于 BizTalk Server Administrators 组成员的帐户登录。 有关权限的更多详细信息,请参阅 部署和管理 BizTalk 应用程序所需的权限

向应用程序添加虚拟目录

  1. 按如下所示打开命令提示符:单击“ 开始”,单击“ 运行”,键入 cmd,然后单击“ 确定”。

  2. 键入以下命令,替换相应的值,如下表所述:

    BTSTask AddResource [/ApplicationName:value] /Type:System.BizTalk:WebDirectory[/Overwrite] /Source:value [/Destination:value] [/Server:value] [/Database:value]

    例如:

    BTSTask AddResource /ApplicationName:MyApplication /Type: System.BizTalk:WebDirectory /Overwrite /Source:http://Host1:90/MyVirtualDirectory /Destination:http://Host2:90/MyVirtualDirectory /Server:MyDatabaseServer /Database:BizTalkMgmtDb

    参数
    /ApplicationName 虚拟目录要添加到的 BizTalk 应用程序的名称。 如果未指定应用程序名称,则使用组的默认 BizTalk 应用程序。 如果名称包含空格,则必须用双引号将其括起来 (“) 。
    /类型 System.BizTalk:WebDirectory (此值不区分大小写。)
    /覆盖 更新现有虚拟目录的选项。 如果未指定,且应用程序中已经存在与要添加的虚拟目录同名的虚拟目录,则 AddResources 操作将失败。
    /源 源虚拟目录的 URI。
    /目的地 从 .msi 文件安装应用程序时要分配给该虚拟目录的 URI。 如果未指定此参数,则使用 Source 参数的值,localhost 作为主机。
    /服务器 BizTalk 管理数据库的宿主 SQL Server 实例的名称,格式为“服务器名称\实例名称,端口”。

    只在实例名称与服务器名称不相同时才需要指定实例名称。 只在 SQL Server 不使用默认端口号 (1433) 时才需要指定端口。

    示例:

    Server=MyServer

    Server=MyServer\MySQLServer,1533

    如果未提供,则使用本地计算机上运行的 SQL Server 实例的名称。
    /数据库 BizTalk 管理数据库的名称。 如果未指定,则使用在本地 SQL Server 实例中运行的 BizTalk 管理数据库。

另请参阅

管理 .NET 程序集、证书和其他资源
AddResource 命令:虚拟目录
创建和修改 BizTalk 应用程序