编写脚本以配置虚拟目录

可以使用默认 BITS IIS 属性值将文件上传到服务器。 上传文件将写入作业的远程文件名中指定的 URL。 要将文件上传到服务器应用程序并接收答复,请更改 BITSServerNotificationType 属性,以便通过引用(发送包含数据的文件名)或值(发送请求正文中的数据)来发送数据。

有关可以修改的属性的列表和说明,请参阅 BITS IIS 扩展属性。 使用 IBITSExtensionSetup 接口的方法启用或禁用上传虚拟目录。

以下示例演示如何使用 Windows 脚本主机来创建、配置和启用 BITS 上传的 IIS 虚拟目录。

if (WScript.Arguments.length < 2)
{
    WScript.Echo("Usage: bitsvdir virtual_directory local_directory");
    WScript.Quit(1);
}

VirtualDirectoryName = WScript.Arguments(0);
LocalDirectoryName = WScript.Arguments(1);

ServerObj = GetObject("IIS://LocalHost/W3SVC/1/ROOT");
VirtualDir = ServerObj.Create("IIsWebVirtualDir", VirtualDirectoryName );

VirtualDir.Path = LocalDirectoryName;
VirtualDir.AppIsolated = 0;
VirtualDir.AccessScript = true;
VirtualDir.AccessRead = false;
VirtualDir.AccessWrite = false;
VirtualDir.SetInfo();

//Set BITS specific IIS configuration settings
VirtualDir.EnableBITSUploads();
VirtualDir.BITSMaximumUploadSize = "4294967296";
VirtualDir.SetInfo();

WScript.Echo( "Created virtual directory " + VirtualDirectoryName + 
              " with a local directory of " + LocalDirectoryName );
WScript.Quit( 0 );

要更改上一个示例以便将数据上传到服务器应用程序,请在 SetInfo 前添加以下代码。

VirtualDir.BITSServerNotificationType = 1;
VirtualDir.BITSServerNotificationURL = "https://myserver/mypath/myasp.asp";

上传文件的位置将传递到 BITS-Request-DataFile-Name 标头中的服务器应用程序 myasp.asp。 要在请求正文中接收上传文件,请将 BITSServerNotificationType 属性设置为 2。

有关在服务器应用程序中接收上传数据的信息,请参阅 使用 BITS 通知请求/响应标头