FtpWebRequest.ContentOffset Eigenschap
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee wordt een byte-offset opgehaald of ingesteld in het bestand dat door deze aanvraag wordt gedownload.
public:
property long ContentOffset { long get(); void set(long value); };
public long ContentOffset { get; set; }
member this.ContentOffset : int64 with get, set
Public Property ContentOffset As Long
Waarde van eigenschap
Een Int64 exemplaar dat de bestandsverschil opgeeft, in bytes. De standaardwaarde is nul.
Uitzonderingen
Er is een nieuwe waarde opgegeven voor deze eigenschap voor een aanvraag die al wordt uitgevoerd.
De opgegeven waarde voor deze eigenschap is kleiner dan nul.
Voorbeelden
In het volgende codevoorbeeld ziet u hoe u een deel van een bestand van een server downloadt en de gedownloade gegevens toevoegt aan een lokaal bestand.
public static bool RestartDownloadFromServer(string fileName, Uri serverUri, long offset)
{
// The serverUri parameter should use the ftp:// scheme.
// It identifies the server file that is to be downloaded
// Example: ftp://contoso.com/someFile.txt.
// The fileName parameter identifies the local file.
//The serverUri parameter identifies the remote file.
// The offset parameter specifies where in the server file to start reading data.
if (serverUri.Scheme != Uri.UriSchemeFtp)
{
return false;
}
// Get the object used to communicate with the server.
FtpWebRequest request = (FtpWebRequest)WebRequest.Create(serverUri);
request.Method = WebRequestMethods.Ftp.DownloadFile;
request.ContentOffset = offset;
FtpWebResponse response = null;
try
{
response = (FtpWebResponse) request.GetResponse();
}
catch (WebException e)
{
Console.WriteLine (e.Status);
Console.WriteLine (e.Message);
return false;
}
// Get the data stream from the response.
Stream newFile = response.GetResponseStream();
// Use a StreamReader to simplify reading the response data.
StreamReader reader = new StreamReader(newFile);
string newFileData = reader.ReadToEnd();
// Append the response data to the local file
// using a StreamWriter.
StreamWriter writer = File.AppendText(fileName);
writer.Write(newFileData);
// Display the status description.
// Cleanup.
writer.Close();
reader.Close();
response.Close();
Console.WriteLine("Download restart - status: {0}",response.StatusDescription);
return true;
}
Opmerkingen
Stel de eigenschap in bij het ContentOffset downloaden van een bestand vanaf een FTP-server. Deze offset geeft de positie aan in het bestand van de server dat het begin van de te downloaden gegevens markeert. De offset wordt opgegeven als het aantal bytes vanaf het begin van het bestand; de verschuiving van de eerste byte is nul.
De instelling ContentOffset zorgt ervoor dat de FtpWebRequest opdracht opnieuw opstarten (REST) naar de server wordt verzonden. Deze opdracht wordt genegeerd door de meeste FTP-server-implementaties als u gegevens uploadt naar de server.
Het wijzigen van ContentOffset na het aanroepen van de GetRequestStream, BeginGetRequestStream, GetResponse, of BeginGetResponse methode veroorzaakt een InvalidOperationException uitzondering.