Freigeben über


BITS IIS-Erweiterungseigenschaften

Der intelligente Hintergrundübertragungsdienst (Background Intelligent Transfer Service, BITS) verwendet eine ISAPI, um IIS zu erweitern, um Uploadaufträgezu unterstützen. 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 vererbbar, mit Ausnahme von BITSUploadEnabled-.

Eigentum Beschreibung
BITSUploadEnabledDatentyp: boolesche
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.
BITSSessionTimeoutDatentyp: DWORD-
Die Anzahl der Sekunden, die die Verbindung beibehalten wird, wenn kein Fortschritt beim Hochladen der Datei erzielt wird; 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 zeitüberschreitungen, 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 Gruppenrichtlinienwert (Standardwert ist 90 Tage) erreicht ist, 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 der Standardmäßige Uploadgrenzwert 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 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), 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 sie die Antwort von der Serveranwendung erhalten hat. 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 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 die Antwort bei Bedarf im Textkörper der Antwort.
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 innerhalb von fünf Minuten nicht antwortet, 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 Timeout der Benachrichtigung beträgt 30 Sekunden.

Der Standardwert ist 0.
BITSServerNotificationURLDatentyp: String
Wahlfrei. 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, 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, wiederholt BITS den Upload, bis die Benachrichtigungs-URL vorhanden ist oder bis 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 z. B. https://myserver/myvdir/subdir/file.asp?ACCOUNT=86433 enthält und Sie die BITSServerNotificationURL- Einstellung als https://otherserver/myvdir2/bag.aspangeben, wird die URL, zu der BITS-Beiträge https://otherserver/myvdir2/bag.asp?ACCOUNT=86433.
Wenn die ursprüngliche URL https://myserver/myvdir/file.txt ist und die Benachrichtigungs-URL myasp.asp ist, verwendet BITS http//myserver/myvdir/myasp.asp als Benachrichtigungs-URL.
Wenn der Pfad- und Dateinameteil 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 in den Fehlerzustand versetzt. Wenn der Serverteil der URL Unicode-Zeichen enthält, müssen Sie den Serverteil mit Internationalized Domain Names (IDN) codieren.
BITSHostIdDatentyp: Zeichenfolgen-
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 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, nicht einschließlich des Null-Terminators.
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 teilweise Uploaddatei vor der Unterbrechung. BITS entfernt die Teildatei, nachdem das 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 schließen 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 für NLB stattdessen den parameter Affinity auf Single fest, um sicherzustellen, dass der Client in Zukunft mit demselben Server kommuniziert.
BITSHostIdFallbackTimeoutDatentyp: DWORD-
Die Anzahl der Sekunden, die der BITS-Client versucht, eine Erneute Verbindung mit dem BITSHostId Servernamen 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 Wert für den Statustimeout des Auftrags (siehe IBackgroundCopyJob::SetNoProgressTimeout) länger sein sollte als dieser Timeoutwert. Ist dies nicht der Fall, schlägt der Auftrag fehl, bevor der Fallbacktimeoutwert abläuft.
Legen Sie diese Eigenschaft nur fest, wenn Sie die eigenschaft BITSHostId 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 1 ist.
Der Standardwert ist 0.
IIS 6.0: Sie können diese Eigenschaft nur über ein Skript festlegen. Sie können sie nicht mithilfe der Seite "BITS-Erweiterungseigenschaften" auf der IIS-Benutzeroberfläche festlegen.

BITSCleanupUseDefaultDatentyp: boolesche
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-.To specify a schedule, use the BITSCleanupCount and BITSCleanupUnits.
Die Bereinigungsaufgabe bereinigt das virtuelle Verzeichnis, indem Aufträge gelöscht werden, die nicht innerhalb des Sitzungszeitlimits geändert wurden (siehe BITSSessionTimeout).
Der Standardzeitplan ist 1.
IIS 6.0: Nicht unterstützt.
BITSCleanupCountDatentyp: Ganze Zahl
Gibt das Intervall an, das zwischen der Ausführung 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 0 ist.
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 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.

BITSNumberOfSessionsLimitDatentyp: Integer
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 größer als dieser Grenzwert ist, löscht die Bereinigungsaufgabe die letzten Sitzungen, 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: boolesche
Gibt an, ob BITS die Anzahl der Uploadsitzungen pro Benutzer begrenzt. 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.

Das folgende Beispiel zeigt, wie Die BITS IIS-Erweiterungseigenschaften mithilfe von Windows Script Host festgelegt werden. Wenn das virtuelle Verzeichnis auf eine Remotefreigabe verweist, legen Sie auch die UNCUserName- und UNCPassword- IIS-Eigenschaften 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 );