BITS IIS-Erweiterung (Eigenschaften)

Background Intelligent Transfer Service (BITS) verwendet eine ISAPI, um IIS zur Unterstützung von Uploadaufträgen zu erweitern. In der folgenden Tabelle sind die Eigenschaften aufgeführt, die BITS der IIS-Metabasis für die virtuelle Verzeichniskomponente hinzufügt. BITS verwendet diese Eigenschaften, um zu bestimmen, wie die Dateien hochgeladen werden. Die BITS IIS-Erweiterungseigenschaften sind erbbar, mit Ausnahme von BITSUploadEnabled.

Eigenschaft BESCHREIBUNG
BITSUploadEnabled Datentyp: Boolean
Gibt an, ob BITS-Uploads im virtuellen Verzeichnis aktiviert sind. Wenn die Einstellung nicht vorhanden ist oder 0 ist, werden BITS-Uploads deaktiviert.
Dies ist eine schreibgeschützte Eigenschaft. Rufen Sie zum Festlegen dieser Eigenschaft die EnableBITSUploads - oder DisableBITSUploads-Methode der IBITSExtensionSetup-Schnittstelle auf.
BITSSessionTimeout Datentyp: DWORD
Die Anzahl der Sekunden, die die Verbindung beibehalten wird, wenn keine Fortschritte beim Hochladen der Datei vorgenommen werden; Der Timer wird zurückgesetzt, wenn der Fortschritt erfolgt. BITS schließt die Verbindung, wenn das Timeout erreicht ist, und bereinigt Daten, die der Sitzung zugeordnet sind.
Das Festlegen eines kurzen Sitzungstimeouts kann ein Problem für Uploadantwortaufträge sein, da die Antwort nur heruntergeladen wird, wenn der Benutzer angemeldet und mit dem Netzwerk verbunden ist. Es ist möglich, dass die Sitzung timeout ist, bevor die Antwort heruntergeladen wird, in diesem Fall wird die Sitzung abgebrochen und die Antwortdatei gelöscht.
Beachten Sie, dass BITS den Auftrag abbricht, wenn der JobInactivityTimeout Gruppenrichtlinie Wert (Standardwert ist 90 Tage) erreicht wird, unabhängig von dieser Einstellung.
Standardwert ist 1.209.600 (14 Tage).
BITSMaximumUploadSize Datentyp: Zeichenfolge
Maximale Anzahl von Bytes, die pro Auftrag hochgeladen werden können. Geben Sie die maximale Anzahl von Bytes als Dezimalzeichenfolge an; Der Zeichenfolgenwert muss kleiner oder gleich "1844674407370955" sein. Eine leere Zeichenfolge entspricht dem Angeben von "1844674407370955".
Der Standardwert ist eine leere Zeichenfolge.
[! Hinweis]
In IIS 7 beträgt der Standarduploadlimit 30 Millionen Bytes. Der Wert der BITSMaximumUploadSize-Eigenschaft darf den IIS-Grenzwert nicht überschreiten. Ausführliche Informationen zum Ändern des IIS-Standardwerts finden Sie unter KB942074.


BITSServerNotificationType Datentyp: DWORD
Gibt an, wie die Uploaddatei an die Serveranwendung gesendet wird. Die möglichen Werte sind: 0, 1 und 2.
Ein Wert von 0 bedeutet, dass die Datei nicht an die Serveranwendung gesendet wird. BITS fügt die Uploaddatei in das verzeichnis ein, das im Remotenamen angegeben ist (der Remotename, der angegeben wurde, wenn Sie die Datei dem Auftrag hinzugefügt haben), ohne die Serveranwendung zu benachrichtigen. Wenn die Datei derzeit im Zielverzeichnis vorhanden ist, wird sie durch die Uploaddatei ersetzt.
Ein Wert von 1 bedeutet, dass BITS den Speicherort der Uploaddatei an die serveranwendung übergibt, die in der BITSServerNotificationURL-Eigenschaft angegeben ist. Die Serveranwendung verarbeitet die Datei und generiert bei Bedarf eine Antwortdatei. Standardmäßig entfernt BITS die Upload- und Antwortdateien vom Server, nachdem die Antwort von der Serveranwendung empfangen wurde. Wenn BITS die Uploaddatei an den Speicherort kopieren soll, der durch den Remotedateinamen im Auftrag angegeben wird, fügen Sie den BITS-Copy-File-To-Destination-Header in Ihre Antwort ein. Wenn Sie die Kopfzeile nicht einschließen und die Upload- und Antwortdateien speichern möchten, müssen Sie die Upload- und Antwortdateien an einen neuen Speicherort kopieren, bevor Sie antworten.
Ein Wert von 2 bedeutet, dass BITS die Uploaddatei im Textkörper der Anforderung an die serveranwendung übergibt, die in der BITSServerNotificationURL-Eigenschaft angegeben ist. Die Serveranwendung verarbeitet die Datei und übergibt bei Bedarf die Antwort im Textkörper der Antwort zurück.
Ausführliche Informationen zu den Anforderungs- und Antwortheadern finden Sie im Benachrichtigungsprotokoll für Serveranwendungen.
Die Serveranwendung muss innerhalb von fünf Minuten eine Antwort bereitstellen. Wenn die Serveranwendung innerhalb von fünf Minuten nicht antwortet, gibt der Auftrag den vorübergehenden Fehlerzustand ein. Wenn die Wiederholungsverzögerung abläuft, sendet der BITS-Server eine weitere Benachrichtigung an die Serveranwendung (die Serveranwendung sollte geschrieben werden, um doppelte Benachrichtigungen zu behandeln). BITS 1.5: Der Timeout für Benachrichtigungen beträgt 30 Sekunden.

Der Standardwert ist 0.
BITSServerNotificationURL Datentyp: Zeichenfolge
Optional. Enthält die URL der Serveranwendung, auf die BITS die Uploaddatei postet. Sie müssen eine URL angeben, wenn der Wert der BITSServerNotificationType-Eigenschaft 1 oder 2 ist. Die URL ist auf 2.200 Zeichen beschränkt, nicht einschließlich des Null-Terminators. Die URL muss eine HTTP-URL sein; BITS unterstützt keine HTTPS-Benachrichtigungs-URLs.
Wenn die URL zum Zeitpunkt des Uploads nicht verfügbar ist, versuchen BITS den Upload erneut, bis die Benachrichtigungs-URL vorhanden ist oder bis der Wiederholungszeitraum abläuft.
Beachten Sie, dass, wenn der im Auftrag angegebene Remotename eine Abfragezeichenfolge enthält, die Abfragezeichenfolge an die von Ihnen angegebene URL angefügt wird. Wenn der Remotename z. B. die BITSServerNotificationURL-Einstellung enthält https://otherserver/myvdir2/bag.asphttps://myserver/myvdir/subdir/file.asp?ACCOUNT=86433 und Sie als URL angeben, zu der BITS-Beiträge gehörthttps://otherserver/myvdir2/bag.asp?ACCOUNT=86433.
Wenn die ursprüngliche URL und die Benachrichtigungs-URL https://myserver/myvdir/file.txt myasp.asp ist, verwendet BITS http//myserver/myvdir/myasp.asp als Benachrichtigungs-URL.
Wenn der Pfad- und Dateinamenteil der URL Unicode-Zeichen enthält, die nicht gemeinsam mit der Codeseite auf dem Client und dem Server sind, schlägt die URL-Übersetzung auf dem Server fehl, und der BITS-Auftrag wird im Fehlerzustand platziert. Wenn der Serverteil der URL Unicode-Zeichen enthält, müssen Sie den Serverteil mithilfe von Internationalized Domain Names (IDN) codieren.
BITSHostId Datentyp: Zeichenfolge
Legen Sie diese Eigenschaft fest, wenn die Serverinstallation eine Webfarm ist, die keinen freigegebenen Speicher verwendet.
Geben Sie den Servernamen oder die IP-Adresse des Servers an, mit dem eine Verbindung hergestellt werden soll, nachdem der Uploadvorgang unterbrochen wurde. Normalerweise geben Sie den Namen des Servers an, den Sie konfigurieren. Die URL ist auf 300 Zeichen beschränkt, nicht einschließlich des Null-Terminators.
Wenn Sie diese Eigenschaft nicht angeben und der Uploadvorgang unterbrochen wird, ist es möglich, dass BITS den Auftrag auf einem anderen Server in der Farm fortsetzen wird. Der vorherige Server enthält jedoch weiterhin die partielle Uploaddatei vor der Unterbrechung. BITS entfernt die Partielle Datei, nachdem das BITSSessionTimeout abläuft.
[! Hinweis]
Verwenden Sie die BITSHostId-Eigenschaft nicht, wenn SSL in einer Webfarm verwendet wird, die Netzwerklastenausgleich (NLB) oder DNS-Namen mit mehreren IP-Adressen verwendet, es sei denn, Sie fügen den Clusternamen und einzelne Servernamen in das Zertifikat ein. (Wenn der in BITSHostId angegebene Servername nicht mit dem allgemeinen Namen des Zertifikats übereinstimmt, schlägt der Auftrag fehl.) Legen Sie stattdessen für NLB den Affinity-Parameter auf Single fest, um sicherzustellen, dass der Client in Zukunft mit demselben Server kommuniziert.


BITSHostIdFallbackTimeout Datentyp: DWORD
Die Anzahl der Sekunden, die der BITS-Client versucht, die Verbindung mit dem BitSHostId-Servernamen erneut herzustellen, bevor der im Remotedateinamen des Auftrags angegebene Hostname wiederhergestellt wird. Der Timer beginnt, wenn BITS keine Verbindung mit dem BITSHostId-Server herstellen kann. Der Timer wird zurückgesetzt, wenn der Client erfolgreich eine Verbindung mit dem Server herstellt.
Beachten Sie, dass der Statustimeoutwert des Auftrags (siehe IBackgroundCopyJob::SetNoProgressTimeout) länger sein sollte als dieser Timeoutwert. Wenn nicht, schlägt der Auftrag fehl, bevor der Fallback-Timeoutwert abläuft.
Legen Sie diese Eigenschaft nur fest, wenn Sie die BITSHostId-Eigenschaft festlegen.
Der Standardwert ist 86.400 (1 Tag).
BITSAllowOverwrites Datentyp: Ganze Zahl
Gibt an, ob eine Uploaddatei eine vorhandene Datei mit demselben Namen überschreiben kann. Die Uploaddatei überschreibt die vorhandene Datei, wenn BITSAllowOverwrites 1 ist.
Der Standardwert ist 0.
IIS 6.0: Sie können diese Eigenschaft nur über ein Skript festlegen, sie kann nicht mithilfe der Seite "BITS-Erweiterungseigenschaften" auf der IIS-Benutzeroberfläche festgelegt werden.

BITSCleanupUseDefault Datentyp: Boolean
Gibt an, ob der Bereinigungsvorgang die Standardzeitpläne verwendet. Standardmäßig wird die Bereinigungsaufgabe alle 12 Stunden ausgeführt.
Legen Sie auf 1 fest, um den Standardzeitplan zu verwenden; andernfalls 0, um einen Zeitplan anzugeben.
Verwenden Sie zum Angeben eines Zeitplans die Eigenschaften BITSCleanupCount und BITSCleanupUnits.
Die Bereinigungsaufgabe bereinigt das virtuelle Verzeichnis, indem Aufträge gelöscht werden, die innerhalb des Sitzungszeitlimits nicht geändert wurden (siehe BITSSessionTimeout).
Der Standardwert ist "1" mit dem Standardzeitplan.
IIS 6.0: Nicht unterstützt.
BITSCleanupCount Datentyp: Ganze Zahl
Gibt das Intervall an, das zwischen der Ausführung der Bereinigungsaufgabe warten soll. Das von Ihnen angegebene Intervall hängt von den Einheiten ab. Mögliche Intervallwerte finden Sie in der BITSCleanupUnits-Eigenschaft .
Diese Eigenschaft wird ignoriert, wenn BITSCleanupUseDefault 0 ist.
IIS 6.0: Nicht unterstützt.

BITSCleanupUnits Datentyp: Ganze Zahl
Gibt die Einheiten für das in der BITSCleanupCount-Eigenschaft angegebene Bereinigungsintervall an. Diese Eigenschaft wird ignoriert, wenn BITSCleanupUseDefault 0 ist.
Mögliche Werte sind:
0: Die Einheiten sind Minuten. Mögliche Werte sind 1 bis 60.
1: Die Einheiten sind Stunden. Dies ist die Standardeinstellung. Mögliche Werte sind 1 bis 24.
2: Die Einheiten sind Tage. Mögliche Werte sind 1 bis 360.

IIS 6.0: Nicht unterstützt.

BITSNumberOfSessionsLimit Datentyp: Ganze Zahl
Beschränkt die Anzahl der Uploadsitzungen, die gleichzeitig für einen Benutzer vorhanden sein können. Wenn die Anzahl der Sitzungen für einen Benutzer mehr als dieser Grenzwert ist, wenn die Bereinigungsaufgabe ausgeführt wird, löscht es die letzten Sitzungen, bis die Anzahl der Sitzungen für den Benutzer unter dem Grenzwert liegt.
Die Standardeinstellung ist 50 Sitzungen.
IIS 6.0: Nicht unterstützt.

BITSSessionLimitEnable Datentyp: Boolean
Gibt an, ob BITS die Anzahl der Uploadsitzungen pro Benutzer beschränkt. Wenn die Einstellung nicht vorhanden ist oder 0 ist, ist der Grenzwert deaktiviert.
Um den Grenzwert anzugeben, legen Sie die BITSNumberOfSessionsLimit-Eigenschaft fest.
Der Standardwert ist 1.
IIS 6.0: Nicht unterstützt.

Im folgenden Beispiel wird gezeigt, wie Sie die BITS IIS-Erweiterungseigenschaften mithilfe Windows Skripthost festlegen. Wenn das virtuelle Verzeichnis auf eine Remotefreigabe verweist, legen Sie auch die EIGENSCHAFTEN UNCUserName und UNCPassword IIS fest.

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 );