Propriétés de l’extension BITS IIS
Le service de transfert intelligent en arrière-plan (BITS) utilise un ISAPI pour étendre IIS pour prendre en charge charger des travaux. Le tableau suivant répertorie les propriétés que BITS ajoute au métabase IIS pour le composant de répertoire virtuel. BITS utilise ces propriétés pour déterminer comment charger les fichiers. Les propriétés d’extension BITS IIS sont héritées, à l’exception de BITSUploadEnabled.
Propriété | Description |
---|---|
type de données BITSUploadEnabled: booléen |
Indique si les chargements BITS sont activés sur le répertoire virtuel. Si le paramètre n’est pas présent ou est égal à 0, les chargements BITS sont désactivés. Il s’agit d’une propriété en lecture seule. Pour définir cette propriété, appelez la méthode EnableBITSUploads ou DisableBITSUploads de l’interface IBITSExtensionSetup. |
type de données BITSSessionTimeout: DWORD |
Nombre de secondes pendant lesquelles la connexion est conservée si aucune progression n’est effectuée lors du chargement du fichier ; le minuteur est réinitialisé lorsque la progression est effectuée. BITS ferme la connexion si le délai d’attente est atteint et nettoie les données associées à la session. La définition d’un délai d’attente de session court peut être un problème pour les travaux de chargement-réponse, car la réponse est téléchargée uniquement lorsque l’utilisateur est connecté et connecté au réseau. Il est possible que la session expire avant le téléchargement de la réponse, auquel cas la session est annulée et le fichier de réponse est supprimé. Notez que BITS annule le travail si l'JobInactivityTimeout valeur de stratégie de groupe (la valeur par défaut est de 90 jours) est atteinte, quel que soit ce paramètre. La valeur par défaut est 1 209 600 (14 jours). |
BITSMaximumUploadSizeType de données : chaîne |
Nombre maximal d’octets pouvant être chargés par travail. Spécifiez le nombre maximal d’octets sous forme de chaîne décimale ; la valeur de chaîne doit être inférieure ou égale à « 1844674407370955 ». Une chaîne vide est identique à la spécification de « 1844674407370955 ». La valeur par défaut est une chaîne vide. Remarque : dans IIS 7, la limite de chargement par défaut est de 30 millions d’octets. La valeur de la propriété BITSMaximumUploadSize ne peut pas dépasser la limite IIS. Pour plus d’informations sur la modification de la valeur par défaut d’IIS, consultez KB942074. |
TYPE de données BITSServerNotificationType: DWORD |
Spécifie comment envoyer le fichier de chargement à l’application serveur. Les valeurs possibles sont : 0, 1 et 2. La valeur 0 signifie que le fichier n’est pas envoyé à l’application serveur. BITS place le fichier de chargement dans le répertoire spécifié dans le nom distant (le nom distant spécifié lorsque vous ajouté le fichier au travail) sans notifier l’application serveur. Si le fichier existe actuellement dans le répertoire de destination, il est remplacé par le fichier de chargement. La valeur 1 signifie que BITS transmet l’emplacement du fichier de chargement à l’application serveur spécifiée dans la propriété BITSServerNotificationURL. L’application serveur traite le fichier et génère un fichier de réponse, si nécessaire. Par défaut, BITS supprime les fichiers de chargement et de réponse du serveur après avoir reçu la réponse de l’application serveur. Pour que BITS copie le fichier de chargement à l’emplacement spécifié par le nom de fichier distant dans le travail, incluez l’en-tête BITS-Copy-File-To-Destination dans votre réponse. Si vous n’incluez pas l’en-tête et que vous souhaitez enregistrer les fichiers de chargement et de réponse, vous devez copier les fichiers de chargement et de réponse dans un nouvel emplacement avant de répondre. La valeur 2 signifie que BITS transmet le fichier de chargement dans le corps de la requête à l’application serveur spécifiée dans la propriété BITSServerNotificationURL. L’application serveur traite le fichier et transmet la réponse dans le corps de la réponse, si nécessaire. Pour plus d’informations sur les en-têtes de requête et de réponse, consultez Protocole de notification pour les applications serveur. L’application serveur doit fournir une réponse dans les cinq minutes. Si l’application serveur ne répond pas dans les cinq minutes, le travail entre dans l’état d’erreur temporaire. Lorsque l'délai de nouvelle tentative expire, le serveur BITS envoie une autre notification à l’application serveur (l’application serveur doit être écrite pour gérer les notifications en double).BITS 1.5 : délai d’attente de notification est de 30 secondes. La valeur par défaut est 0. |
BITSServerNotificationURLType de données : Chaîne |
Optionnel. Contient l’URL de l’application serveur vers laquelle BITS publie le fichier de chargement. Vous devez spécifier une URL si la valeur de la propriété BITSServerNotificationType est 1 ou 2. L’URL est limitée à 2 200 caractères, sans inclure la marque de fin null. L’URL doit être une URL HTTP ; BITS ne prend pas en charge les URL de notification HTTPS. Si l’URL n’est pas disponible au moment du chargement, BITS réessaye le chargement jusqu’à ce que l’URL de notification existe ou jusqu’à l’expiration de la période de nouvelle tentative. Notez que si le nom distant spécifié dans le travail contient une chaîne de requête, la chaîne de requête est ajoutée à l’URL que vous spécifiez. Par exemple, si le nom distant contient https://myserver/myvdir/subdir/file.asp?ACCOUNT=86433 et que vous spécifiez le paramètre BITSServerNotificationURL en tant que https://otherserver/myvdir2/bag.asp, l’URL vers laquelle les publications BITS sont https://otherserver/myvdir2/bag.asp?ACCOUNT=86433. Si l’URL d’origine est https://myserver/myvdir/file.txt et que l’URL de notification est myasp.asp, BITS utilise http//myserver/myvdir/myasp.asp comme URL de notification. Si la partie chemin d’accès et nom de fichier de l’URL contient des caractères Unicode non communs à la page de codes sur le client et le serveur, la traduction d’URL échoue sur le serveur et le travail BITS est placé dans l’état d’erreur. Si la partie serveur de l’URL contient des caractères Unicode, vous devez encoder la partie serveur à l’aide de noms de domaine internationalisés (IDN). |
type de données BITSHostId: chaîne |
Définissez cette propriété si l’installation du serveur est une batterie de serveurs web qui n’utilise pas de stockage partagé. Spécifiez le nom du serveur ou l’adresse IP du serveur à reconnecter une fois le processus de chargement interrompu. En règle générale, vous spécifiez le nom du serveur que vous configurez. L’URL est limitée à 300 caractères, sans inclure le point de terminaison Null. Si vous ne spécifiez pas cette propriété et que le processus de chargement est interrompu, il est possible que BITS reprend le travail sur un autre serveur de la batterie de serveurs. Toutefois, le serveur précédent contient toujours le fichier de chargement partiel avant l’interruption. BITS supprime le fichier partiel après l’expiration de l'BITSSessionTimeout. Remarque : n’utilisez pas la propriété BITSHostId si SSL est utilisé dans une batterie de serveurs web qui utilise l’équilibrage de charge réseau (NLB) ou les noms DNS avec plusieurs adresses IP, sauf si vous incluez le nom du cluster et les noms de serveurs individuels dans le certificat. (Si le nom de serveur spécifié dans BITSHostId ne correspond pas au nom commun du certificat, le travail échoue.) Au lieu de cela, pour l’équilibrage de charge réseau, définissez le paramètre d’affinité sur unique pour vous assurer que le client communique avec le même serveur à l’avenir. |
TYPE de données BITSHostIdFallbackTimeout: DWORD |
Nombre de secondes pendant lesquelles le client BITS tente de se reconnecter au BITSHostId nom de serveur avant de revenir au nom d’hôte spécifié dans le nom de fichier distant du travail. Le minuteur commence lorsque BITS ne peut pas se connecter au serveur BITSHostId. Le minuteur est réinitialisé lorsque le client se connecte correctement au serveur. Notez que la valeur du délai d’attente de progression du travail (voir IBackgroundCopyJob ::SetNoProgressTimeout) doit être plus longue que cette valeur de délai d’attente. Si ce n’est pas le cas, le travail échoue avant l’expiration de la valeur du délai d’expiration de secours. Définissez cette propriété uniquement si vous définissez la propriété BITSHostId. La valeur par défaut est 86 400 (1 jour). |
BITSAllowOverwritesType de données : Entier |
Indique si un fichier de chargement peut remplacer un fichier existant portant le même nom. Le fichier de chargement remplace le fichier existant si BITSAllowOverwrites est 1. La valeur par défaut est 0. IIS 6.0 : Vous pouvez définir cette propriété uniquement à partir d’un script, vous ne pouvez pas la définir à l’aide de la page des propriétés d’extension BITS dans l’interface utilisateur IIS. |
TYPE de données BITSCleanupUseDefault: booléen |
Indique si la tâche de nettoyage utilise les planifications par défaut. Par défaut, la tâche de nettoyage est exécutée toutes les 12 heures. Définissez la valeur 1 pour utiliser la planification par défaut ; sinon, 0 pour spécifier une planification. Pour spécifier une planification, utilisez les propriétés BITSCleanupCount et BITSCleanupUnits. La tâche de nettoyage nettoie le répertoire virtuel en supprimant les travaux qui n’ont pas été modifiés au cours de la période d’attente de session (voir BITSSessionTimeout). La valeur par défaut est 1 utiliser la planification par défaut. IIS 6.0 : Non pris en charge. |
type de données BITSCleanupCount: entier |
Spécifie l’intervalle à attendre entre l’exécution de la tâche de nettoyage. L’intervalle que vous pouvez spécifier dépend des unités. Pour connaître les valeurs d’intervalle possibles, consultez la propriété BITSCleanupUnits. Cette propriété est ignorée si BITSCleanupUseDefault est 0. IIS 6.0 : Non pris en charge. |
TYPE de données BITSCleanupUnits: entier |
Spécifie les unités de l’intervalle de nettoyage spécifié dans la propriété BITSCleanupCount. Cette propriété est ignorée si BITSCleanupUseDefault est 0. Les valeurs possibles sont les suivantes :
1 : Les unités sont des heures. Il s’agit de la valeur par défaut. Les valeurs possibles sont comprises entre 1 et 24. 2 : Les unités sont des jours. Les valeurs possibles sont comprises entre 1 et 360. IIS 6.0 : Non pris en charge. |
TYPE de données BITSNumberOfSessionsLimit: entier |
Limite le nombre de sessions de chargement qui peuvent exister simultanément pour un utilisateur. Si le nombre de sessions d’un utilisateur est supérieur à cette limite, lorsque la tâche de nettoyage s’exécute, elle supprime les sessions les plus récentes jusqu’à ce que le nombre de sessions pour l’utilisateur soit inférieur à la limite. La valeur par défaut est de 50 sessions. IIS 6.0 : Non pris en charge. |
type de données BITSSessionLimitEnable: booléen |
Indique si BITS limite le nombre de sessions de chargement par utilisateur. Si le paramètre n’est pas présent ou est égal à 0, la limite est désactivée. Pour spécifier la limite, définissez la propriété BITSNumberOfSessionsLimit. La valeur par défaut est 1. IIS 6.0 : Non pris en charge. |
L’exemple suivant montre comment définir les propriétés d’extension BITS IIS à l’aide de l’hôte de script Windows. Si le répertoire virtuel pointe vers un partage distant, définissez également la UNCUserName et propriétés UNCPassword 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 );