Escrevendo um script para configurar o diretório virtual
Você pode usar os valores de propriedade padrão do IIS do BITS para carregar um arquivo no servidor. O arquivo de carregamento é gravado na URL conforme especificado no nome do arquivo remoto do trabalho. Para carregar o arquivo em um aplicativo de servidor e receber uma resposta, altere a propriedade BITSServerNotificationType para enviar os dados por referência (envia o nome do arquivo que contém os dados) ou por valor (envia os dados no corpo da solicitação).
Para obter uma lista e descrição das propriedades que você pode modificar, consulte Propriedades da extensão IIS do BITS. Use os métodos da interface IBITSExtensionSetup para habilitar e desabilitar o diretório virtual para uploads.
O exemplo a seguir mostra como usar o Windows Script Host para criar, configurar e habilitar um diretório virtual do IIS para carregamentos do 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 alterar o exemplo anterior para carregar os dados em um aplicativo de servidor, adicione o seguinte código antes de SetInfo.
VirtualDir.BITSServerNotificationType = 1;
VirtualDir.BITSServerNotificationURL = "https://myserver/mypath/myasp.asp";
O local do arquivo de carregamento é passado para o aplicativo de servidor, myasp.asp, no cabeçalho BITS-Request-DataFile-Name. Para receber o arquivo de carregamento no corpo da solicitação, defina a propriedade BITSServerNotificationType como 2.
Para obter informações sobre como receber os dados de carregamento em seu aplicativo de servidor, consulte Usando cabeçalhos de solicitação/resposta de notificação do BITS.