Escritura de un script para configurar el directorio virtual
Puede usar los valores predeterminados de propiedad IIS de BITS para cargar un archivo en el servidor. El archivo de carga se escribe en la dirección URL tal y como se especifica en el nombre de archivo remoto del trabajo. Para cargar el archivo en una aplicación de servidor y recibir una respuesta, cambie la propiedad BITSServerNotificationType para enviar los datos por referencia (envía el nombre del archivo que contiene los datos) o por valor (envía los datos en el cuerpo de la solicitud).
Para obtener una lista y una descripción de las propiedades que puede modificar, vea Propiedades de extensión de IIS de BITS. Use los métodos de la interfaz IBITSExtensionSetup para habilitar y deshabilitar el directorio virtual para cargas.
En el ejemplo siguiente se muestra cómo usar el host de script de Windows para crear, configurar y habilitar un directorio virtual de IIS para cargas de BITS.
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 );
Para cambiar el ejemplo anterior para cargar los datos en una aplicación de servidor, agregue el código siguiente antes de SetInfo.
VirtualDir.BITSServerNotificationType = 1;
VirtualDir.BITSServerNotificationURL = "https://myserver/mypath/myasp.asp";
La ubicación del archivo de carga se pasa a la aplicación de servidor, myasp.asp, en el encabezado BITS-Request-DataFile-Name. Para recibir el archivo de carga en el cuerpo de la solicitud, establezca la propiedad BITSServerNotificationType en 2.
Para obtener información sobre cómo recibir los datos de carga en la aplicación de servidor, consulte Uso de encabezados de solicitud de notificación y respuesta de BITS.