Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. |
Übersetzung
Original
|
HttpWebRequest.AddRange-Methode (Int32)
Fügt einer Anforderung einen Bytebereichsheader für einen bestimmten Bereich am Anfang oder Ende der angeforderten Daten hinzu.
Assembly: System (in System.dll)
| Ausnahme | Bedingung |
|---|---|
| ArgumentException |
rangeSpecifier ist ungültig. |
| InvalidOperationException |
Der Bereichsheader konnte nicht hinzugefügt werden. |
Die HttpWebRequest.AddRange-Methode fügt der Anforderung einen Bytebereichsheader hinzu.
Wenn range positiv ist, gibt der range-Parameter den Anfangspunkt des Bereichs an. Der Server sollte mit dem Senden der Daten vom angegebenen range-Parameter bis zum Ende der Daten in der HTTP-Entität beginnen.
Wenn range negativ ist, gibt der range-Parameter den Endpunkt des Bereichs an. Der Server sollte mit dem Senden der Daten vom Beginn der Daten in der HTTP-Entität bis zum angegebenen range-Parameter beginnen.
Da alle HTTP-Entitäten in HTTP-Meldungen als Bytesequenzen dargestellt werden, ist das Konzept eines Bytebereichs für jede HTTP-Entität sinnvoll. Nicht alle Clients und Server müssen jedoch Bytebereichsoperationen unterstützen.
Der Range-Header in einer Anfrage ermöglicht es einem Client, anzufordern, dass er nur einen bestimmten Teil des angegebenen Bereichs von Bytes in einer HTTP-Entität empfangen will. Server müssen Range-Header-Anforderungen nicht unterstützen.
Ein Beispiel für einen Range-Header in einer HTTP-Protokollanforderung, die anfordert, dass der Server die ersten 100 Byte (vom Start zu Byteposition 99) sendet, wäre Folgendes:
Range: bytes=0-99\r\n\r\n
Der range-Parameter für dieses Beispiel wäre -99.
Ein HTTP-Server gibt Unterstützung für Range-Header mit dem Accept-Ranges-Header an. Ein Beispiel für den Accept-Ranges-Header von einem Server, der Bytebereiche unterstützt, wäre wie folgt:
Accept-Ranges: bytes\r\n\r\n
Wenn ein Accept-Ranges-Header nicht im Header der Antwort vom Server empfangen wird, dann unterstützt der Server keine Range-Header. Ein Beispiel für den Accept-Ranges-Header von einem Server, der keine Bereiche unterstützt, aber den Accept-Ranges-Header erkennt, wäre wie folgt:
Accept-Ranges: none\r\n\r\n
Wenn eine Antwort auf eine Bereichsanforderung empfangen wird, werden nur die der gesamten Anforderung zugeordneten HTTP-Header analysiert und über die Eigenschaften der HttpWebResponse-Klasse verfügbar gemacht. Die den einzelnen Bereichen zugeordneten Header werden in der Antwort zurückgegeben.
Im folgenden Codebeispiel wird der Anforderung ein Bereichsheader hinzugefügt.
// Create a New 'HttpWebRequest' object . HttpWebRequest myHttpWebRequest1=(HttpWebRequest)WebRequest.Create("http://www.contoso.com"); myHttpWebRequest1.AddRange(1000); Console.WriteLine("Call AddRange(1000)"); Console.Write("Resulting Headers: "); Console.WriteLine(myHttpWebRequest1.Headers.ToString()); // Create a New 'HttpWebRequest' object . HttpWebRequest myHttpWebRequest2=(HttpWebRequest)WebRequest.Create("http://www.contoso.com"); myHttpWebRequest2.AddRange(-1000); Console.WriteLine("Call AddRange(-1000)"); Console.Write("Resulting Headers: "); Console.WriteLine(myHttpWebRequest2.Headers.ToString());
Windows 7, Windows Vista SP1 oder höher, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core wird nicht unterstützt), Windows Server 2008 R2 (Server Core wird mit SP1 oder höher unterstützt), Windows Server 2003 SP2
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.