BITS IIS-Erweiterung (Eigenschaften)

Background Intelligent Transfer Service (BITS) verwendet eine ISAPI, um IIS zur Unterstützung von Uploadaufträgenzu 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
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. Um diese Eigenschaft festzulegen, rufen Sie die EnableBITSUploads- oder DisableBITSUploads-Methode der IBITSExtensionSetup-Schnittstelle auf.
BITSSessionTimeout Datentyp: DWORD
Anzahl der Sekunden, in der die Verbindung beibehalten wird, wenn beim Hochladen der Datei kein Fortschritt erzielt wird. Der Timer wird zurückgesetzt, wenn der Fortschritt erfolgt. BITS schließt die Verbindung, wenn das Time out erreicht ist, und bereinigt die der Sitzung zugeordneten Daten.
Das Festlegen eines kurzen Sitzungstime outs kann ein Problem bei Upload-Antwort-Aufträgen 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 Time out erfolgt, 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) unabhängig von dieser Einstellung erreicht ist.
Der 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 der Angabe von "1844674407370955".
Der Standardwert ist eine leere Zeichenfolge.
[!Note]
In IIS 7 beträgt das Standardmäßige Uploadlimit 30 Millionen Bytes. Der Wert der BITSMaximumUploadSize-Eigenschaft darf den IIS-Grenzwert nicht überschreiten. Ausführliche Informationen und Informationen zum Ändern der IIS-Standardeinstellung 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.
Der Wert 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 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 kopiert, der durch den Remotedateinamen im Auftrag angegeben wird, fügen Sie den Header BITS-Copy-File-To-Destination in Ihre 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 Anforderungstext an die Serveranwendung übergibt, die in der BITSServerNotificationURL-Eigenschaft angegeben ist. Die Serveranwendung verarbeitet die Datei und übergibt die Antwort bei Bedarf im Text der Antwort zurück.
Ausführliche Informationen zu den Anforderungs- und Antwortheadern finden Sie unter 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 antwortt, wechselt der Auftrag in den vorübergehenden Fehlerzustand. 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 Benachrichtigungstime out beträgt 30 Sekunden.

Der Standardwert ist 0.
BITSServerNotificationURL Datentyp: Zeichenfolge
Optional. Enthält die URL der Serveranwendung, an die BITS die Uploaddatei sendet. 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, versucht BITS den Upload so lange, bis die Benachrichtigungs-URL vorhanden ist oder der Wiederholungszeitraum abläuft.
Beachten Sie Folgendes: 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 BITSServerNotificationURL-Einstellung als https://otherserver/myvdir2/bag.asp angeben, lautet die URL, an die BITS https://otherserver/myvdir2/bag.asp?ACCOUNT=86433 beiträget, .
Wenn die ursprüngliche URL 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 Dateinamenteil der URL Unicode-Zeichen enthält, die der Codepage auf client und server nicht 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 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 die Verbindung erneut hergestellt werden soll, nachdem der Uploadvorgang unterbrochen wurde. In der Regel geben Sie den Namen des Servers an, den Sie konfigurieren. Die URL ist auf 300 Zeichen beschränkt, ohne das NULL-Abschlusszeichen.
Wenn Sie diese Eigenschaft nicht angeben und der Uploadvorgang unterbrochen wird, kann bits den Auftrag auf einem anderen Server in der Farm fortsetzen. Der vorherige Server enthält jedoch weiterhin die Teiluploaddatei von vor der Unterbrechung. BITS entfernt die Teildatei, nachdem BITSSessionTimeout abgelaufen ist.
[!Note]
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 schließen den Clusternamen und die einzelnen 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 Affinity-Parameter auf Single fest, um sicherzustellen, dass der Client in Zukunft mit demselben Server kommuniziert.


BITSHostIdFallbackTimeout Datentyp: DWORD
Anzahl von Sekunden, in der der BITS-Client versucht, erneut eine Verbindung mit dem BITSHostId-Servernamen herzustellen, bevor er auf den Hostnamen zurückgesetzt wird, der im Remotedateinamen des Auftrags angegeben ist. 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 Wert für kein Statustimeout des Auftrags (siehe IBackgroundCopyJob::SetNoProgressTimeout) länger als dieser Timeoutwert sein sollte. Wenn dies nicht der Fall ist, 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).
BITSAllowOverwrites Datentyp: Ganze Zahl
Gibt an, ob eine Uploaddatei eine vorhandene Datei mit dem gleichen 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 können sie nicht über die Eigenschaftenseite der BITS-Erweiterung auf der IIS-Benutzeroberfläche festlegen.

BITSCleanupUseDefault Datentyp: Boolean
Gibt an, ob der Bereinigungstask 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.
Der Cleanuptask 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: Wird nicht unterstützt.
BITSCleanupCount Datentyp: Ganze Zahl
Gibt das Intervall an, das zwischen der Ausführung des Bereinigungstasks 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 0 ist.
IIS 6.0: Wird nicht unterstützt.

BITSCleanupUnits Datentyp: Ganze Zahl
Gibt die Einheiten für das Bereinigungsintervall an, das in der BITSCleanupCount-Eigenschaft angegeben ist. 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 Standardoption. Mögliche Werte sind 1 bis 24.
2: Die Einheiten sind Tage. Mögliche Werte sind 1 bis 360.

IIS 6.0: Wird nicht unterstützt.

BITSNumberOfSessionsLimit Datentyp: Ganze Zahl
Schränkt die Anzahl der 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 des Bereinigungstasks 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: Wird nicht unterstützt.

BITSSessionLimitEnable Datentyp: Boolean
Gibt an, ob BITS die Anzahl der Uploadsitzungen pro Benutzer einschrä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: Wird nicht unterstützt.

Das folgende Beispiel zeigt, wie die BITS-IIS-Erweiterungseigenschaften mithilfe Windows Skripthosts 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 );