Sdílet prostřednictvím


Vlastnosti rozšíření služby BITS IIS

Služba BITS (Background Intelligent Transfer Service) používá rozhraní ISAPI k rozšíření služby IIS na podporu nahrávání úloh. Následující tabulka uvádí vlastnosti, které služba BITS přidá do metabáze služby IIS pro komponentu virtuálního adresáře. BitS tyto vlastnosti používá k určení způsobu nahrání souborů. Vlastnosti rozšíření SLUŽBY BITS IIS jsou děditelné, s výjimkou BITSUploadEnabled.

Vlastnost Popis
DATOVÝ typ BITSUploadEnabled: logická
Určuje, jestli jsou ve virtuálním adresáři povolené nahrávání služby BITS. Pokud nastavení není k dispozici nebo je 0, nahrávání služby BITS je zakázané.
Toto je vlastnost jen pro čtení. Chcete-li nastavit tuto vlastnost, volání EnableBITSUploads nebo DisableBITSUploads metoda IBITSExtensionSetup rozhraní.
datový typ BITSSessionTimeout: DWORD
Počet sekund, po které je připojení zachováno, pokud se neprovedou žádné pokroky při nahrávání souboru; časovač se resetuje, když se provede pokrok. Služba BITS připojení zavře, pokud dojde k dosažení časového limitu, a vyčistí data přidružená k relaci.
Nastavení krátkého časového limitu relace může být problémem pro úlohy odesílání odpovědí, protože odpověď se stáhne jenom v případě, že je uživatel přihlášený a připojený k síti. Je možné, aby relace vypršela, než se odpověď stáhne, v takovém případě se relace zruší a soubor odpovědi se odstraní.
Služba BITS zruší úlohu v případě, že hodnota zásad skupiny JobInactivityTimeout (výchozí hodnota je 90 dnů), bez ohledu na toto nastavení.
Výchozí hodnota je 1 209 600 (14 dní).
DATOVÝ typ BITSMaximumUploadSize: Řetězcová
Maximální počet bajtů, které lze nahrát na každou úlohu. Zadejte maximální počet bajtů jako desetinný řetězec; hodnota řetězce musí být menší nebo rovna hodnotě "1844674407370955". Prázdný řetězec je stejný jako zadání "1844674407370955".
Výchozí hodnota je prázdný řetězec.
Poznámka: Ve službě IIS 7 je výchozí limit nahrávání 30 milionů bajtů. Hodnota vlastnosti BITSMaximumUploadSize nemůže překročit limit služby IIS. Podrobnosti a informace o změně výchozího nastavení služby IIS najdete v tématu KB942074.
BITSServerNotificationTypeDatový typ: DWORD
Určuje, jak odeslat soubor pro nahrání do serverové aplikace. Možné hodnoty jsou: 0, 1 a 2.
Hodnota 0 znamená, že soubor není odeslán do serverové aplikace. Služba BITS umístí soubor pro nahrání do adresáře zadaného ve vzdáleném názvu (vzdálený název zadaný při přidání souboru do úlohy) bez upozornění serverové aplikace. Pokud soubor v cílovém adresáři aktuálně existuje, nahradí se souborem pro nahrání.
Hodnota 1 znamená, že služba BITS předává umístění souboru pro nahrání do serverové aplikace zadané ve vlastnosti BITSServerNotificationURL. Serverová aplikace soubor zpracuje a v případě potřeby vygeneruje soubor odpovědi. Služba BITS ve výchozím nastavení odebere soubory nahrávání a odpovědí ze serveru, jakmile obdrží odpověď ze serverové aplikace. Pokud chcete, aby služba BITS zkopírovala soubor pro nahrávání do umístění určeného názvem vzdáleného souboru v úloze, vložte do odpovědi hlavičku BITS-Copy-File-To- Destination. Pokud záhlaví nezahrnete a chcete uložit soubory pro nahrání a odpovědi, musíte soubory pro nahrání a odpovědi zkopírovat do nového umístění, než odpovíte.
Hodnota 2 znamená, že služba BITS předá soubor pro nahrání v těle požadavku do serverové aplikace zadané ve vlastnosti BITSServerNotificationURL. Serverová aplikace zpracuje soubor a v případě potřeby předá odpověď zpět v textu odpovědi.
Podrobnosti o hlavičce požadavku a odpovědi najdete v tématu Notification Protocol pro serverové aplikace.
Serverová aplikace musí poskytnout odpověď do pěti minut. Pokud serverová aplikace neodpoví do pěti minut, úloha zadá přechodný chybový stav. Když zpoždění opakování vyprší, server BITS odešle server serveru další oznámení serverové aplikaci (serverová aplikace by měla být zapsána pro zpracování duplicitních oznámení).BITS 1.5: časový limit oznámení je 30 sekund.

Výchozí hodnota je 0.
DATOVÝ typ BITSServerNotificationURL: string
Volitelný. Obsahuje adresu URL serverové aplikace, do které služba BITS publikuje soubor pro nahrání. Pokud je hodnota BITSServerNotificationType vlastnost 1 nebo 2, je nutné zadat adresu URL. Adresa URL je omezená na 2 200 znaků, a nezahrnuje ukončovací znak null. Adresa URL musí být adresa URL HTTP; Služba BITS nepodporuje adresy URL oznámení HTTPS.
Pokud adresa URL není v době nahrávání dostupná, služba BITS bude opakovat nahrávání, dokud adresa URL oznámení neexistuje nebo dokud nevyprší období opakování.
Všimněte si, že pokud vzdálený název zadaný v úloze obsahuje řetězec dotazu, řetězec dotazu se připojí k zadané adrese URL. Pokud například vzdálený název obsahuje https://myserver/myvdir/subdir/file.asp?ACCOUNT=86433 a zadáte nastavení BITSServerNotificationURL jako https://otherserver/myvdir2/bag.asp, bude adresa URL, na kterou jsou příspěvky služby BITS https://otherserver/myvdir2/bag.asp?ACCOUNT=86433.
Pokud je původní adresa URL https://myserver/myvdir/file.txt a adresa URL oznámení je myasp.asp, služba BITS jako adresu URL oznámení použije http//myserver/myvdir/myasp.asp.
Pokud část s názvem cesty a souboru adresy URL obsahuje znaky Unicode, které nejsou společné pro znakovou stránku na klientovi i serveru, překlad adres URL na serveru selže a úloha BITS bude umístěna ve stavu chyby. Pokud serverová část adresy URL obsahuje znaky Unicode, je nutné zakódovat část serveru pomocí Internationalized Domain Names (IDN).
DATOVÝ typ BITSHostId: řetězcové
Tuto vlastnost nastavte, pokud je instalace serveru webová farma, která nepoužívá sdílené úložiště.
Zadejte název serveru nebo IP adresu serveru, ke které se má po přerušení procesu nahrávání znovu připojit. Obvykle zadáte název serveru, který konfigurujete. Adresa URL je omezená na 300 znaků, nikoli na ukončovací znak null.
Pokud tuto vlastnost nezadáte a proces nahrávání se přeruší, je možné, že služba BITS obnoví úlohu na jiném serveru ve farmě. Předchozí server však stále obsahuje soubor částečného nahrání před přerušením. Služba BITS odebere částečný soubor po vypršení platnosti BITSSessionTimeout.
Poznámka: Nepoužívejte vlastnost BITSHostId, pokud se ve webové farmě používá protokol SSL, který používá názvy služby Vyrovnávání zatížení sítě (NLB) nebo DNS s více IP adresami, pokud do certifikátu nezahrnete název clusteru a názvy jednotlivých serverů. (Pokud název serveru zadaný v BITSHostId neodpovídá běžnému názvu certifikátu, úloha selže.) Místo toho pro vyrovnávání zatížení sítě nastavte parametr spřažení na hodnotu Single, aby klient v budoucnu komunikuje se stejným serverem.
DATOVÝ typ BITSHostIdFallbackTimeout: DWORD
Počet sekund, po které se klient SLUŽBY BITS pokusí znovu připojit k názvu BITSHostId serveru, než se vrátí k názvu hostitele zadanému ve vzdáleném názvu souboru úlohy. Časovač začíná, když se služba BITS nemůže připojit k serveru BITSHostId. Časovač se resetuje, když se klient úspěšně připojí k serveru.
Všimněte si, že hodnota časového limitu průběhu úlohy (viz IBackgroundCopyJob::SetNoProgressTimeout) by měla být delší než tato hodnota časového limitu. Pokud ne, úloha selže před vypršením platnosti náhradní hodnoty časového limitu.
Tuto vlastnost nastavte pouze v případě, že nastavíte vlastnost BITSHostId.
Výchozí hodnota je 86 400 (1 den).
BITSAllowOverwritesDatový typ: celočíselná
Určuje, jestli může nahrát soubor přepsat existující soubor se stejným názvem. Soubor pro nahrání přepíše existující soubor, pokud BITSAllowOverwrites je 1.
Výchozí hodnota je 0.
IIS 6.0: Tuto vlastnost můžete nastavit pouze ze skriptu, nelze ji nastavit pomocí stránky vlastností rozšíření SLUŽBY BITS v uživatelském rozhraní služby IIS.

DATOVÝ typ BITSCleanupUseDefault: boolean
Určuje, jestli úloha čištění používá výchozí plány. Ve výchozím nastavení je úloha čištění spuštěna každých 12 hodin.
Nastavte na hodnotu 1 pro použití výchozího plánu; v opačném případě zadejte plán 0.
Chcete-li zadat plán, použijte BITSCleanupCount a BITSCleanupUnits vlastnosti.
Úloha vyčištění vyčistí virtuální adresář odstraněním úloh, které nebyly změněny během časového limitu relace (viz BITSSessionTimeout).
Výchozí hodnota je 1, použijte výchozí plán.
IIS 6.0: Nepodporuje se.
DATOVÝ typ BITSCleanupCount: celé číslo
Určuje interval čekání mezi spuštěním úlohy vyčištění. Interval, který můžete zadat, závisí na jednotkách. Možné hodnoty intervalu naleznete v BITSCleanupUnits vlastnost.
Tato vlastnost se ignoruje, pokud BITSCleanupUseDefault je 0.
IIS 6.0: Nepodporuje se.

BITSCleanupUnitsDatový typ: celočíselná
Určuje jednotky pro interval čištění zadaný ve vlastnosti BITSCleanupCount. Tato vlastnost se ignoruje, pokud BITSCleanupUseDefault je 0.
Možné hodnoty:
0: Jednotky jsou minuty. Možné hodnoty jsou 1 až 60.
1: Jednotky jsou hodiny. Toto je výchozí hodnota. Možné hodnoty jsou 1 až 24.
2: Jednotky jsou dny. Možné hodnoty jsou 1 až 360.

IIS 6.0: Nepodporuje se.

DATOVÝ typ BITSNumberOfSessionsLimit: Celočíselná
Omezuje počet relací nahrávání, které mohou existovat souběžně pro uživatele. Pokud je počet relací pro uživatele větší než tento limit, při spuštění úlohy vyčištění se odstraní nejnovější relace, dokud počet relací uživatele nebude pod limitem.
Výchozí hodnota je 50 relací.
IIS 6.0: Nepodporuje se.

DATOVÝ typ BITSSessionLimitEnable: logická
Určuje, jestli BITS omezuje počet relací nahrávání na uživatele. Pokud nastavení není k dispozici nebo je 0, limit je zakázaný.
Chcete-li určit limit, nastavte BITSNumberOfSessionsLimit vlastnost.
Výchozí hodnota je 1.
IIS 6.0: Nepodporuje se.

Následující příklad ukazuje, jak nastavit vlastnosti rozšíření služby BITS IIS pomocí programu Windows Script Host. Pokud virtuální adresář odkazuje na vzdálenou sdílenou složku, nastavte také UNCUserName a UNCPassword vlastnosti 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 );