Egenskaper för BITS IIS-tillägg
Background Intelligent Transfer Service (BITS) använder en ISAPI för att utöka IIS för att stödja ladda upp jobb. I följande tabell visas de egenskaper som BITS lägger till i IIS-metabasen för den virtuella katalogkomponenten. BITS använder dessa egenskaper för att avgöra hur filerna ska laddas upp. BITS IIS-tilläggsegenskaperna är ärvbara, förutom BITSUploadEnabled.
Egenskap | Beskrivning |
---|---|
BITSUploadEnabledDatatyp: boolesk |
Anger om BITS-uppladdningar är aktiverade i den virtuella katalogen. Om inställningen inte finns eller är 0 inaktiveras BITS-uppladdningar. Det här är en skrivskyddad egenskap. Om du vill ange den här egenskapen anropar du metoden EnableBITSUploads eller DisableBITSUploads i IBITSExtensionSetup--gränssnittet. |
BITSSessionTimeoutDatatyp: DWORD- |
Antal sekunder som anslutningen upprätthålls om inga framsteg görs när filen laddas upp. timern återställs när förloppet görs. BITS stänger anslutningen om tidsgränsen nås och rensar data som är associerade med sessionen. Att ange en kort tidsgräns för sessioner kan vara ett problem för uppladdningssvarsjobb eftersom svaret endast laddas ned när användaren är inloggad och ansluten till nätverket. Det är möjligt att sessionen överskrider tidsgränsen innan svaret laddas ned, i vilket fall sessionen avbryts och svarsfilen tas bort. Observera att BITS avbryter jobbet om JobInactivityTimeout grupprincipvärde (standardvärdet är 90 dagar) har uppnåtts, oavsett den här inställningen. Standardvärdet är 1 209 600 (14 dagar). |
BITSMaximumUploadSizeDatatyp: String |
Maximalt antal byte som kan laddas upp per jobb. Ange det maximala antalet byte som en decimalsträng. strängvärdet måste vara mindre än eller lika med "1844674407370955". En tom sträng är samma som att ange "1844674407370955". Standardvärdet är en tom sträng. Obs! I IIS 7 är standardgränsen för uppladdning 30 miljoner byte. Värdet för egenskapen BITSMaximumUploadSize får inte överskrida IIS-gränsen. Mer information om hur du ändrar IIS-standard finns i KB942074. |
BITSServerNotificationTypeDatatyp: DWORD |
Anger hur du skickar uppladdningsfilen till serverprogrammet. Möjliga värden är: 0, 1 och 2. Värdet 0 innebär att filen inte skickas till serverprogrammet. BITS placerar uppladdningsfilen i katalogen som anges i fjärrnamnet (fjärrnamnet som angavs när du lade till filen till jobbet) utan att meddela serverprogrammet. Om filen för närvarande finns i målkatalogen ersätts den med uppladdningsfilen. Värdet 1 innebär att BITS skickar platsen för uppladdningsfilen till serverprogrammet som anges i egenskapen BITSServerNotificationURL. Serverprogrammet bearbetar filen och genererar en svarsfil om det behövs. Som standard tar BITS bort uppladdnings- och svarsfilerna från servern när det har fått svaret från serverprogrammet. Om du vill att BITS ska kopiera uppladdningsfilen till den plats som anges av fjärrfilens namn i jobbet inkluderar du bits-copy-file-to-destination--huvudet i svaret. Om du inte inkluderar huvudet och vill spara uppladdnings- och svarsfilerna måste du kopiera uppladdnings- och svarsfilerna till en ny plats innan du svarar. Värdet 2 innebär att BITS skickar uppladdningsfilen i brödtexten i begäran till serverprogrammet som anges i egenskapen BITSServerNotificationURL. Serverprogrammet bearbetar filen och skickar tillbaka svaret i svarets brödtext om det behövs. Mer information om begärande- och svarshuvudena finns i Notification Protocol for Server Applications. Serverprogrammet måste ge ett svar inom fem minuter. Om serverprogrammet inte svarar inom fem minuter anger jobbet det tillfälliga feltillståndet. När omförsöksfördröjningen upphör att gälla skickar BITS-servern ytterligare ett meddelande till serverprogrammet (serverprogrammet ska skrivas för att hantera duplicerade meddelanden).BITS 1.5: Tidsgränsen för meddelanden är 30 sekunder. Standardvärdet är 0. |
BITSServerNotificationURLDatatyp: String |
Valfri. Innehåller URL:en för serverprogrammet som BITS publicerar uppladdningsfilen till. Du måste ange en URL om värdet för egenskapen BITSServerNotificationType är 1 eller 2. URL:en är begränsad till 2 200 tecken, utan null-avslut. URL:en måste vara en HTTP-URL. BITS stöder inte HTTPS-meddelande-URL:er. Om URL:en inte är tillgänglig vid tidpunkten för uppladdningen försöker BITS ladda upp igen tills meddelande-URL:en finns eller tills återförsöksperioden upphör att gälla. Observera att om fjärrnamnet som anges i jobbet innehåller en frågesträng läggs frågesträngen till i den URL som du anger. Om fjärrnamnet till exempel innehåller https://myserver/myvdir/subdir/file.asp?ACCOUNT=86433 och du anger inställningen BITSServerNotificationURL som https://otherserver/myvdir2/bag.aspanger du url:en till vilken BITS-inlägg https://otherserver/myvdir2/bag.asp?ACCOUNT=86433. Om den ursprungliga URL:en är https://myserver/myvdir/file.txt och meddelande-URL:en är myasp.asp använder BITS http//myserver/myvdir/myasp.asp som meddelande-URL. Om sökvägen och filnamnsdelen av URL:en innehåller Unicode-tecken som inte är gemensamma för kodsidan på både klienten och servern, misslyckas URL-översättningen på servern och BITS-jobbet placeras i feltillståndet. Om serverdelen av URL:en innehåller Unicode-tecken måste du koda serverdelen med hjälp av internationaliserade domännamn (IDN). |
BITSHostIddatatyp: String |
Ange den här egenskapen om serverinstallationen är en webbgrupp som inte använder delad lagring. Ange servernamnet eller IP-adressen för servern som ska återanslutas till när uppladdningsprocessen har avbrutits. Vanligtvis anger du namnet på den server som du konfigurerar. URL:en är begränsad till 300 tecken, utan null-avslut. Om du inte anger den här egenskapen och uppladdningsprocessen avbryts är det möjligt att BITS återupptar jobbet på en annan server i servergruppen. Den tidigare servern innehåller dock fortfarande den partiella uppladdningsfilen från före avbrottet. BITS tar bort den partiella filen när BITSSessionTimeout- upphör att gälla. Obs! Använd inte egenskapen BITSHostId om SSL används i en webbgrupp som använder NLB-namn (Network Load Balancing) eller DNS-namn med flera IP-adresser, såvida du inte inkluderar klusternamnet och de enskilda servernamnen i certifikatet. (Om servernamnet som anges i BITSHostId inte matchar det gemensamma namnet på certifikatet misslyckas jobbet.) För NLB anger du i stället parametern Affinity till Single för att säkerställa att klienten kommunicerar med samma server i framtiden. |
BITSHostIdFallbackTimeoutDatatyp: DWORD |
Antal sekunder som BITS-klienten försöker återansluta till BITSHostId servernamn innan det återgår till värdnamnet som anges i jobbets fjärrfilnamn. Timern börjar när BITS inte kan ansluta till BITSHostId-servern. Timern återställs när klienten ansluter till servern. Observera att tidsgränsvärdet för inget förlopp för jobbet (se IBackgroundCopyJob::SetNoProgressTimeout) bör vara längre än det här timeout-värdet. Annars misslyckas jobbet innan tidsgränsvärdet för återställning upphör att gälla. Ange endast den här egenskapen om du anger egenskapen BITSHostId. Standardvärdet är 86 400 (1 dag). |
BITSAllowOverwritesDatatyp: Heltal |
Anger om en uppladdningsfil kan skriva över en befintlig fil med samma namn. Uppladdningsfilen skriver över den befintliga filen om BITSAllowOverwrites är 1. Standardvärdet är 0. IIS 6.0: Du kan bara ange den här egenskapen från ett skript. Du kan inte ange den med hjälp av sidan för BITS-tilläggsegenskaper i IIS-användargränssnittet. |
BITSCleanupUseDefaultDatatyp: boolesk |
Anger om rensningsaktiviteten använder standardscheman. Som standard körs rensningsaktiviteten var 12:e timme. Ange till 1 för att använda standardschemat. annars 0 för att ange ett schema. Om du vill ange ett schema använder du egenskaperna BITSCleanupCount och BITSCleanupUnits. Rensningsaktiviteten rensar den virtuella katalogen genom att ta bort jobb som inte har ändrats inom tidsgränsen för sessionen (se BITSSessionTimeout). Standardvärdet är 1 använd standardschemat. IIS 6.0: Stöds inte. |
BITSCleanupCountDatatyp: Heltal |
Anger intervallet som ska vänta mellan att köra rensningsaktiviteten. Det intervall som du kan ange beror på enheterna. Möjliga intervallvärden finns i egenskapen BITSCleanupUnits. Den här egenskapen ignoreras om BITSCleanupUseDefault är 0. IIS 6.0: Stöds inte. |
BITSCleanupUnitsDatatyp: Heltal |
Anger enheterna för rensningsintervallet som anges i egenskapen BITSCleanupCount. Den här egenskapen ignoreras om BITSCleanupUseDefault är 0. Möjliga värden är:
1: Enheterna är timmar. Det här är standardinställningen. Möjliga värden är 1 till 24. 2: Enheterna är dagar. Möjliga värden är 1 till 360. IIS 6.0: Stöds inte. |
BITSNumberOfSessionsLimitDatatyp: Heltal |
Begränsar antalet uppladdningssessioner som kan finnas samtidigt för en användare. Om antalet sessioner för en användare är större än den här gränsen, tar rensningsaktiviteten bort de senaste sessionerna tills antalet sessioner för användaren ligger under gränsen. Standardvärdet är 50 sessioner. IIS 6.0: Stöds inte. |
BITSSessionLimitEnableDatatyp: boolesk |
Anger om BITS begränsar antalet uppladdningssessioner per användare. Om inställningen inte finns eller är 0 inaktiveras gränsen. Ange gränsen genom att ange egenskapen BITSNumberOfSessionsLimit. Standardvärdet är 1. IIS 6.0: Stöds inte. |
I följande exempel visas hur du anger egenskaper för BITS IIS-tillägg med hjälp av Windows Script Host. Om den virtuella katalogen pekar på en fjärrresurs anger du även egenskaperna UNCUserName och UNCPassword 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 );