Eigenschappen van BITS IIS-extensie
Bits (Background Intelligent Transfer Service) maakt gebruik van een ISAPI om IIS uit te breiden ter ondersteuning van uploadtaken. De volgende tabel bevat de eigenschappen die BITS toevoegt aan de IIS-metabase voor het onderdeel van de virtuele map. BITS gebruikt deze eigenschappen om te bepalen hoe de bestanden moeten worden geüpload. De eigenschappen van de BITS IIS-extensie kunnen worden overgenomen, met uitzondering van BITSUploadEnabled.
Eigenschap | Beschrijving |
---|---|
BITSUploadEnabledGegevenstype: Booleaanse |
Geeft aan of BITS-uploads zijn ingeschakeld in de virtuele map. Als de instelling niet aanwezig is of 0 is, worden BITS-uploads uitgeschakeld. Dit is een alleen-lezen eigenschap. Als u deze eigenschap wilt instellen, roept u de EnableBITSUploads of DisableBITSUploads methode van de IBITSExtensionSetup-interface aan. |
BITSSessionTimeoutGegevenstype: DWORD- |
Aantal seconden dat de verbinding wordt onderhouden als er geen voortgang wordt gemaakt bij het uploaden van het bestand; de timer wordt opnieuw ingesteld wanneer de voortgang wordt gemaakt. BITS sluit de verbinding als de time-out is bereikt en gegevens opschoont die aan de sessie zijn gekoppeld. Het instellen van een korte sessietime-out kan een probleem zijn voor upload-antwoordtaken, omdat het antwoord alleen wordt gedownload wanneer de gebruiker is aangemeld en is verbonden met het netwerk. Het is mogelijk dat er een time-out optreedt voordat het antwoord wordt gedownload. In dat geval wordt de sessie geannuleerd en wordt het antwoordbestand verwijderd. Houd er rekening mee dat BITS de taak annuleert als de JobInactivityTimeout groepsbeleidswaarde (standaard 90 dagen) is bereikt, ongeacht deze instelling. De standaardwaarde is 1.209.600 (14 dagen). |
BITSMaximumUploadSizegegevenstype: tekenreeks |
Maximum aantal bytes dat per taak kan worden geüpload. Geef het maximum aantal bytes op als een decimale tekenreeks; de tekenreekswaarde moet kleiner dan of gelijk zijn aan '1844674407370955'. Een lege tekenreeks is hetzelfde als het opgeven van '1844674407370955'. De standaardwaarde is een lege tekenreeks. Opmerking: in IIS 7 is de standaardlimiet voor uploaden 30 miljoen bytes. De waarde van de eigenschap BITSMaximumUploadSize mag de IIS-limiet niet overschrijden. Zie KB942074voor meer informatie over het wijzigen van de IIS-standaardinstelling. |
BITSServerNotificationTypeGegevenstype: DWORD- |
Hiermee geeft u op hoe het uploadbestand naar de servertoepassing moet worden verzonden. De mogelijke waarden zijn: 0, 1 en 2. Een waarde van 0 betekent dat het bestand niet naar de servertoepassing wordt verzonden. BITS plaatst het uploadbestand in de map die is opgegeven in de externe naam (de externe naam die is opgegeven wanneer u het bestand toegevoegd aan de taak) zonder de servertoepassing op de hoogte te stellen. Als het bestand momenteel in de doelmap bestaat, wordt het vervangen door het uploadbestand. Een waarde van 1 betekent dat BITS de locatie van het uploadbestand doorgeeft aan de servertoepassing die is opgegeven in de eigenschap BITSServerNotificationURL. De servertoepassing verwerkt het bestand en genereert indien nodig een antwoordbestand. Standaard verwijdert BITS de upload- en antwoordbestanden van de server nadat deze het antwoord van de servertoepassing heeft ontvangen. Als u wilt dat BITS het uploadbestand kopieert naar de locatie die is opgegeven door de externe bestandsnaam in de taak, neemt u de BITS-Copy-File-To-Destination- header op in uw antwoord. Als u de koptekst niet opneemt en u de upload- en antwoordbestanden wilt opslaan, moet u de upload- en antwoordbestanden naar een nieuwe locatie kopiëren voordat u reageert. Een waarde van 2 betekent dat BITS het uploadbestand in de hoofdtekst van de aanvraag doorgeeft aan de servertoepassing die is opgegeven in de eigenschap BITSServerNotificationURL. De servertoepassing verwerkt het bestand en stuurt het antwoord door in de hoofdtekst van het antwoord, indien nodig. Zie Notification Protocol voor servertoepassingenvoor meer informatie over de aanvraag- en antwoordheaders. De servertoepassing moet binnen vijf minuten een antwoord opgeven. Als de servertoepassing niet binnen vijf minuten reageert, voert de taak de tijdelijke foutstatus in. Wanneer de vertraging voor opnieuw proberen verloopt, stuurt de BITS-server een andere melding naar de servertoepassing (de servertoepassing moet worden geschreven om dubbele meldingen af te handelen).BITS 1.5: De time-out voor meldingen is 30 seconden. De standaardwaarde is 0. |
BITSServerNotificationURLGegevenstype: tekenreeks |
Facultatief. Bevat de URL van de servertoepassing waarnaar BITS het uploadbestand plaatst. U moet een URL opgeven als de waarde van de eigenschap BITSServerNotificationType 1 of 2 is. De URL is beperkt tot 2.200 tekens, niet inclusief het null-eindteken. De URL moet een HTTP-URL zijn; BITS biedt geen ondersteuning voor HTTPS-meldings-URL's. Als de URL niet beschikbaar is op het moment van uploaden, probeert BITS het uploaden opnieuw totdat de meldings-URL bestaat of totdat de periode voor opnieuw proberen is verlopen. Als de externe naam die is opgegeven in de taak een querytekenreeks bevat, wordt de queryreeks toegevoegd aan de URL die u opgeeft. Als de externe naam bijvoorbeeld https://myserver/myvdir/subdir/file.asp?ACCOUNT=86433 bevat en u de instelling BITSServerNotificationURL als https://otherserver/myvdir2/bag.aspopgeeft, wordt de URL waarnaar BITS-berichten https://otherserver/myvdir2/bag.asp?ACCOUNT=86433. Als de oorspronkelijke URL is https://myserver/myvdir/file.txt en de meldings-URL is myasp.asp, gebruikt BITS http//myserver/myvdir/myasp.asp als de meldings-URL. Als het pad- en bestandsnaamgedeelte van de URL Unicode-tekens bevat die niet gebruikelijk zijn voor de codepagina op zowel de client als de server, mislukt de URL-vertaling op de server en krijgt de BITS-taak de foutstatus. Als het servergedeelte van de URL Unicode-tekens bevat, moet u het servergedeelte coderen met geinternationaliseerde domeinnamen (IDN). |
BITSHostIdgegevenstype: tekenreeks |
Stel deze eigenschap in als de serverinstallatie een webfarm is die geen gedeelde opslag gebruikt. Geef de servernaam of het IP-adres van de server op waarmee opnieuw verbinding moet worden gemaakt nadat het uploadproces is onderbroken. Normaal gesproken geeft u de naam op van de server die u configureert. De URL is beperkt tot 300 tekens, niet inclusief het null-eindteken. Als u deze eigenschap niet opgeeft en het uploadproces wordt onderbroken, is het mogelijk dat BITS de taak op een andere server in de farm hervat. De vorige server bevat echter nog steeds het gedeeltelijke uploadbestand van vóór de onderbreking. BITS verwijdert het gedeeltelijke bestand nadat de BITSSessionTimeout verloopt. Opmerking: gebruik de eigenschap BITSHostId niet als SSL wordt gebruikt in een webfarm die gebruikmaakt van NLB-namen (Network Load Balancing) of DNS-namen met meerdere IP-adressen, tenzij u de clusternaam en afzonderlijke servernamen in het certificaat opneemt. (Als de servernaam die is opgegeven in BITSHostId niet overeenkomt met de algemene naam van het certificaat, mislukt de taak.) Stel in plaats daarvan voor NLB de parameter Affiniteit in op Enkele om ervoor te zorgen dat de client in de toekomst met dezelfde server communiceert. |
BITSHostIdFallbackTimeoutGegevenstype: DWORD- |
Het aantal seconden dat de BITS-client opnieuw verbinding probeert te maken met de BITSHostId servernaam voordat deze wordt teruggezet naar de hostnaam die is opgegeven in de externe bestandsnaam van de taak. De timer begint wanneer BITS geen verbinding kan maken met de BITSHostId-server. De timer wordt opnieuw ingesteld wanneer de client verbinding maakt met de server. Houd er rekening mee dat de time-outwaarde voor de voortgang van de taak (zie IBackgroundCopyJob::SetNoProgressTimeout) langer moet zijn dan deze time-outwaarde. Als dat niet het probleem is, mislukt de taak voordat de time-outwaarde voor terugval verloopt. Stel deze eigenschap alleen in als u de eigenschap BITSHostId instelt. De standaardwaarde is 86.400 (1 dag). |
BITSAllowOverwritesGegevenstype: Geheel getal |
Hiermee wordt aangegeven of een uploadbestand een bestaand bestand met dezelfde naam kan overschrijven. Het uploadbestand overschrijft het bestaande bestand als BITSAllowOverwrites 1 is. De standaardwaarde is 0. IIS 6.0: U kunt deze eigenschap alleen vanuit een script instellen. U kunt deze niet instellen met behulp van de eigenschappenpagina bits-extensie in de IIS-gebruikersinterface. |
BITSCleanupUseDefaultGegevenstype: Booleaanse |
Geeft aan of de opschoontaak gebruikmaakt van de standaardschema's. De opschoontaak wordt standaard elke 12 uur uitgevoerd. Ingesteld op 1 om de standaardplanning te gebruiken; anders, 0 om een schema op te geven. Als u een planning wilt opgeven, gebruikt u de eigenschappen BITSCleanupCount en BITSCleanupUnits. Met de opschoontaak wordt de virtuele map opgeschoond door taken te verwijderen die niet zijn gewijzigd binnen de time-outperiode van de sessie (zie BITSSessionTimeout-). De standaardwaarde is 1 die het standaardschema gebruikt. IIS 6.0: Niet ondersteund. |
BITSCleanupCountgegevenstype: geheel getal |
Hiermee geeft u het interval op dat moet worden gewacht tussen het uitvoeren van de opschoontaak. Het interval dat u kunt opgeven, is afhankelijk van de eenheden. Zie de eigenschap BITSCleanupUnits voor mogelijke intervalwaarden. Deze eigenschap wordt genegeerd als BITSCleanupUseDefault 0 is. IIS 6.0: Niet ondersteund. |
BITSCleanupUnitsGegevenstype: Geheel getal |
Hiermee geeft u de eenheden voor het opschooninterval op dat is opgegeven in de eigenschap BITSCleanupCount. Deze eigenschap wordt genegeerd als BITSCleanupUseDefault 0 is. De mogelijke waarden zijn:
1: De eenheden zijn uren. Dit is de standaardwaarde. Mogelijke waarden zijn 1 tot 24. 2: De eenheden zijn dagen. Mogelijke waarden zijn 1 tot 360. IIS 6.0: Niet ondersteund. |
BITSNumberOfSessionsLimitGegevenstype: Geheel getal |
Hiermee beperkt u het aantal uploadsessies dat gelijktijdig kan bestaan voor een gebruiker. Als het aantal sessies voor een gebruiker groter is dan deze limiet, worden de meest recente sessies verwijderd wanneer de opschoontaak wordt uitgevoerd totdat het aantal sessies voor de gebruiker onder de limiet valt. De standaardwaarde is 50 sessies. IIS 6.0: Niet ondersteund. |
BITSSessionLimitEnableGegevenstype: Booleaanse |
Hiermee wordt aangegeven of BITS het aantal uploadsessies per gebruiker beperkt. Als de instelling niet aanwezig is of 0 is, wordt de limiet uitgeschakeld. Als u de limiet wilt opgeven, stelt u de eigenschap BITSNumberOfSessionsLimit in. De standaardwaarde is 1. IIS 6.0: Niet ondersteund. |
In het volgende voorbeeld ziet u hoe u de eigenschappen van de BITS IIS-extensie instelt met behulp van Windows Script Host. Als de virtuele map verwijst naar een externe share, stelt u ook de UNCUserName- in en UNCPassword IIS-eigenschappen.
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 );