BITS IIS-Erweiterung (Eigenschaften)

Der intelligente Hintergrundübertragungsdienst (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 Komponente des virtuellen Verzeichnisses hinzufügt. BITS verwendet diese Eigenschaften, um zu bestimmen, wie die Dateien hochgeladen werden. Die BITS-IIS-Erweiterungseigenschaften sind vererbbar, mit Ausnahme von BITSUploadEnabled.

Eigenschaft BESCHREIBUNG
BITSUploadEnabledDatentyp: Boolean
Gibt an, ob BITS-Uploads für das virtuelle Verzeichnis aktiviert sind. Wenn die Einstellung nicht vorhanden oder 0 ist, werden BITS-Uploads deaktiviert.
Dies ist eine schreibgeschützte Eigenschaft. Um diese Eigenschaft festzulegen, rufen Sie die EnableBITSUploads - oder DisableBITSUploads-Methode der IBITSExtensionSetup-Schnittstelle auf .
BITSSessionTimeoutDatentyp: DWORD
Anzahl der Sekunden, in der die Verbindung aufrechterhalten wird, wenn beim Hochladen der Datei kein Fortschritt erzielt wird; Der Timer wird zurückgesetzt, wenn der Fortschritt gemacht wird. BITS schließt die Verbindung, wenn das Timeout erreicht ist, und bereinigt die der Sitzung zugeordneten Daten.
Das Festlegen eines kurzen Sitzungstimeouts kann bei Upload-Antwortaufträgen ein Problem sein, da die Antwort nur heruntergeladen wird, wenn der Benutzer angemeldet und mit dem Netzwerk verbunden ist. Es ist möglich, dass für die Sitzung ein Timeout auftritt, 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.
Der Standardwert ist 1.209.600 (14 Tage).
BITSMaximumUploadSizeDatentyp: String
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 der Angabe von "1844674407370955".
Der Standardwert ist eine leere Zeichenfolge.
Hinweis: In IIS 7 beträgt das Standardlimit für Uploads 30 Millionen Bytes. Der Wert der BITSMaximumUploadSize-Eigenschaft darf den IIS-Grenzwert nicht überschreiten. Ausführliche Informationen zum Ändern der IIS-Standardeinstellung finden Sie unter KB942074.
BITSServerNotificationTypeDatentyp: DWORD
Gibt an, wie die Uploaddatei an die Serveranwendung gesendet wird. Die möglichen Werte sind: 0, 1 und 2.
Der Wert 0 bedeutet, dass die Datei nicht an die Serveranwendung gesendet wird. BITS platziert die Uploaddatei in dem Verzeichnis, das im Remotenamen angegeben ist (der Remotename, der beim Hinzufügen der Datei zum Auftrag angegeben wurde), ohne die Serveranwendung zu benachrichtigen. Wenn die Datei derzeit im Zielverzeichnis vorhanden ist, wird sie durch die Uploaddatei ersetzt.
Der Wert 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. Damit BITS die Uploaddatei an den Speicherort kopieren soll, der durch den Remotedateinamen im Auftrag angegeben wird, fügen Sie den Header BITS-Copy-File-To-Destination in die Antwort ein. Wenn Sie den Header 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.
Der Wert 2 bedeutet, dass BITS die Uploaddatei im Text 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 Antworttext.
Ausführliche Informationen zu den Anforderungs- und Antwortheadern finden Sie unter Notification Protocol for Server Applications( Notification Protocol for Server Applications).
Die Serveranwendung muss innerhalb von fünf Minuten eine Antwort bereitstellen. Wenn die Serveranwendung nicht innerhalb von fünf Minuten antwortet, wechselt der Auftrag in den Status vorübergehender Fehler. 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 verarbeiten). BITS 1.5: Das Benachrichtigungstimeout beträgt 30 Sekunden.

Der Standardwert ist 0.
BITSServerNotificationURLDatentyp: String
Optional. Enthält die URL der Serveranwendung, an die BITS die Uploaddatei veröffentlicht. 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, ohne das NULL-Abschlusszeichen. 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, wiederholt BITS den Upload, bis die Benachrichtigungs-URL vorhanden ist oder der Wiederholungszeitraum abläuft.
Wenn der im Auftrag angegebene Remotename eine Abfragezeichenfolge enthält, wird die Abfragezeichenfolge an die von Ihnen angegebene URL angefügt. Wenn der Remotename beispielsweise enthält https://myserver/myvdir/subdir/file.asp?ACCOUNT=86433 und Sie die Einstellung BITSServerNotificationURL als https://otherserver/myvdir2/bag.aspangeben, ist die URL, an die BITS-Beiträge lauten. https://otherserver/myvdir2/bag.asp?ACCOUNT=86433.
Wenn die ursprüngliche URL lautet https://myserver/myvdir/file.txt und die Benachrichtigungs-URL myasp.asp lautet, verwendet BITS http//myserver/myvdir/myasp.asp als Benachrichtigungs-URL.
Wenn der Pfad- und Dateinameteil der URL Unicode-Zeichen enthält, die nicht mit der Codepage auf dem Client und server gemeinsam sind, schlägt die URL-Übersetzung auf dem Server fehl, und der BITS-Auftrag wird in den Fehlerzustand versetzt. Wenn der Serverteil der URL Unicode-Zeichen enthält, müssen Sie den Serverteil mit internationalisierten Domänennamen (IDN) codieren.
BITSHostIdDatentyp: String
Legen Sie diese Eigenschaft fest, wenn es sich bei der Serverinstallation um eine Webfarm handelt, die keinen freigegebenen Speicher verwendet.
Geben Sie den Servernamen oder die IP-Adresse des Servers an, mit dem nach der Unterbrechung des Uploadvorgangs die Verbindung wiederhergestellt werden soll. In der Regel geben Sie den Namen des Servers an, den Sie konfigurieren. Die URL ist auf 300 Zeichen beschränkt, ohne den NULL-Abschlusszeichen.
Wenn Sie diese Eigenschaft nicht angeben und der Uploadprozess unterbrochen wird, kann BITS den Auftrag auf einem anderen Server in der Farm fortsetzen. Der vorherige Server enthält jedoch noch die Teiluploaddatei von vor der Unterbrechung. BITS entfernt die Teildatei, nachdem BITSSessionTimeout abläuft.
Hinweis: Verwenden Sie die BITSHostId-Eigenschaft nicht, wenn SSL in einer Webfarm verwendet wird, die Netzwerklastenausgleich (Network Load Balancing, 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 im Zertifikat übereinstimmt, schlägt der Auftrag fehl.) Legen Sie stattdessen für NLB den Affinitätsparameter auf Single fest, um sicherzustellen, dass der Client in Zukunft mit demselben Server kommuniziert.
BITSHostIdFallbackTimeoutDatentyp: DWORD
Anzahl der Sekunden, die der BITS-Client versucht, die Verbindung mit dem BITSHostId-Servernamen wiederherzustellen, 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 Timeoutwert ohne Status des Auftrags (siehe IBackgroundCopyJob::SetNoProgressTimeout) länger als dieser Timeoutwert sein sollte. Andernfalls schlägt der Auftrag fehl, bevor der Fallbacktimeoutwert abläuft.
Legen Sie diese Eigenschaft nur fest, wenn Sie die BITSHostId-Eigenschaft festlegen.
Der Standardwert ist 86.400 (1 Tag).
BITSAllowOverwritesDatentyp: Integer
Gibt an, ob eine Uploaddatei eine vorhandene Datei mit demselben Namen überschreiben kann. Die Uploaddatei überschreibt die vorhandene Datei, wenn BITSAllowOverwrites den Wert 1 hat.
Der Standardwert ist 0.
IIS 6.0: Sie können diese Eigenschaft nur über ein Skript festlegen. Sie können sie nicht über die Seite BITS-Erweiterungseigenschaften auf der IIS-Benutzeroberfläche festlegen.

BITSCleanupUseDefaultDatentyp: Boolean
Gibt an, ob der Bereinigungstask die Standardzeitpläne verwendet. Standardmäßig wird der Bereinigungstask 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 Sitzungstimeoutzeitraums nicht geändert wurden (siehe BITSSessionTimeout).
Der Standardwert ist 1. Verwenden Sie den Standardzeitplan.
IIS 6.0: Nicht unterstützt.
BITSCleanupCountDatentyp: Integer
Gibt das Intervall an, das zwischen dem Ausführen der Bereinigungsaufgabe gewartet werden soll. Das Intervall, das Sie angeben können, hängt von den Einheiten ab. Mögliche Intervallwerte finden Sie in der BITSCleanupUnits-Eigenschaft .
Diese Eigenschaft wird ignoriert, wenn BITSCleanupUseDefault den Wert 0 aufweist.
IIS 6.0: Nicht unterstützt.

BITSCleanupUnitsDatentyp: Integer
Gibt die Einheiten für das in der BITSCleanupCount-Eigenschaft angegebene Bereinigungsintervall an. Diese Eigenschaft wird ignoriert, wenn BITSCleanupUseDefault den Wert 0 aufweist.
Mögliche Werte sind:
0: Die Einheiten sind Minuten. Mögliche Werte sind 1 bis 60.
1: Die Einheiten sind Stunden. Dies ist die Standardoption. 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.

BITSNumberOfSessionsLimitDatentyp: Integer
Schränkt die Anzahl von Uploadsitzungen ein, die gleichzeitig für einen Benutzer vorhanden sein können. Wenn die Anzahl der Sitzungen für einen Benutzer diesen Grenzwert überschreitet, werden beim Ausführen der Bereinigungsaufgabe die letzten Sitzungen gelöscht, bis die Anzahl der Sitzungen für den Benutzer unter dem Grenzwert liegt.
Der Standardwert ist 50 Sitzungen.
IIS 6.0: Nicht unterstützt.

BITSSessionLimitEnableDatentyp: Boolean
Gibt an, ob BITS die Anzahl von Uploadsitzungen pro Benutzer einschränkt. Wenn die Einstellung nicht vorhanden oder 0 ist, wird 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 die BITS-IIS-Erweiterungseigenschaften mithilfe von Windows Script Host festgelegt werden. Wenn das virtuelle Verzeichnis auf eine Remotefreigabe verweist, legen Sie auch die IIS-Eigenschaften UNCUserName und UNCPassword 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 );