Écriture d’un script pour configurer le répertoire virtuel
Vous pouvez utiliser les valeurs de propriété IIS BITS par défaut pour charger un fichier sur le serveur. Le fichier de chargement est écrit dans l’URL spécifiée dans le nom de fichier distant du travail. Pour charger le fichier dans une application serveur et recevoir une réponse, modifiez la propriété BITSServerNotificationType pour envoyer les données par référence (envoie le nom du fichier qui contient les données) ou par valeur (envoie les données dans le corps de la requête).
Pour obtenir la liste et la description des propriétés que vous pouvez modifier, consultez Propriétés de l’extension IIS BITS. Utilisez les méthodes de l’interface IBITSExtensionSetup pour activer et désactiver le répertoire virtuel pour les chargements.
L’exemple suivant montre comment utiliser l’hôte de script Windows pour créer, configurer et activer un répertoire virtuel IIS pour les chargements 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 );
Pour modifier l’exemple précédent afin de charger les données dans une application serveur, ajoutez le code suivant avant SetInfo.
VirtualDir.BITSServerNotificationType = 1;
VirtualDir.BITSServerNotificationURL = "https://myserver/mypath/myasp.asp";
L’emplacement du fichier de chargement est passé à l’application serveur, myasp.asp, dans l’en-tête BITS-Request-DataFile-Name. Pour recevoir le fichier de chargement dans le corps de la demande, définissez la propriété BITSServerNotificationType sur 2.
Pour plus d’informations sur la réception des données de chargement dans votre application serveur, consultez Utilisation des en-têtes de demande/réponse de notification BITS.