Auf Englisch lesen

Freigeben über


BackgroundDownloader.CreateDownload Methode

Definition

Überlädt

CreateDownload(Uri, IStorageFile)

Initialisiert ein DownloadOperation-Objekt , das den angegebenen URI und die Datei enthält, in die die Antwort geschrieben wird.

CreateDownload(Uri, IStorageFile, IStorageFile)

Initialisiert ein DownloadOperation-Objekt mit dem Ressourcen-URI, der Datei, in die die Antwort geschrieben wird, und dem Anforderungsentitätstext.

CreateDownload(Uri, IStorageFile)

Initialisiert ein DownloadOperation-Objekt , das den angegebenen URI und die Datei enthält, in die die Antwort geschrieben wird.

[Windows.Foundation.Metadata.Overload("CreateDownload")]
public DownloadOperation CreateDownload(System.Uri uri, IStorageFile resultFile);

Parameter

uri
Uri

Der Speicherort der Ressource.

resultFile
IStorageFile

Die Datei, in die die Antwort geschrieben wird.

Gibt zurück

Der resultierende Downloadvorgang.

Attribute

Hinweise

Die Hintergrundübertragung unterstützt keine gleichzeitigen Downloads desselben URI. Eine App kann also einmal heruntergeladen http://example.com/myfile.wmv oder erneut heruntergeladen werden, nachdem ein vorheriger Download abgeschlossen ist. Eine App sollte nicht zwei Downloads desselben URI gleichzeitig starten, da dies zu abgeschnittenen Dateien führen kann.

Wichtig

Das Erstellen einer großen Anzahl von Übertragungen im Standard UI-Thread mit CreateDownload kann zu einer Leistungseinbuße der Benutzeroberfläche Ihrer App führen. Wenn Sie eine große Anzahl von Übertragungen in die Warteschlange stellen, empfiehlt es sich, CreateDownload für einen Hintergrundarbeitsthread aufzurufen, wie im folgenden Beispiel gezeigt.

operation = await Task.Run(() => { return myDownloader.CreateDownload(uri, file); });

Hinweis

Einige Dateisysteme weisen Dateigrößenbeschränkungen auf. Die Hintergrundübertragung verfügt über eine spezielle Logik für schnelle Fehlerübertragungen, die die Dateigrößengrenzwerte des Ziellaufwerks überschreiten (z. B. Dateien, die eine Größe von mehr als 4 GB für FAT32-Dateisysteme überschreiten). Wenn der Server mit einem Content-Length Headerwert antwortet, der größer als die maximale Dateigröße des Dateisystems ist, schlägt der Downloadvorgang sofort mit HRESULT_FROM_WIN32(ERROR_FILE_SYSTEM_LIMITATION) fehl.

Weitere Informationen

Gilt für:

CreateDownload(Uri, IStorageFile, IStorageFile)

Initialisiert ein DownloadOperation-Objekt mit dem Ressourcen-URI, der Datei, in die die Antwort geschrieben wird, und dem Anforderungsentitätstext.

[Windows.Foundation.Metadata.Overload("CreateDownloadFromFile")]
public DownloadOperation CreateDownload(System.Uri uri, IStorageFile resultFile, IStorageFile requestBodyFile);

Parameter

uri
Uri

Der Speicherort der Ressource.

resultFile
IStorageFile

Die Datei, in die die Antwort geschrieben wird.

requestBodyFile
IStorageFile

Eine Datei, die den Anforderungsentitätstext darstellt, der zusätzliche Daten enthält, die der Server benötigt, bevor der Download beginnen kann. Die Datei, auf die dieses Objekt verweist, muss für die Dauer des Downloads gültig sein.

Gibt zurück

Der resultierende Downloadvorgang.

Attribute

Hinweise

Die resultierende DownloadOperation unterstützt Szenarien, in denen eine gültige Downloadanforderung bestimmte Daten enthält, die vom Server benötigt werden. Beispielsweise erfordert eine Website ein ausgefülltes Formular, bevor der Download erfolgen kann.

Die Hintergrundübertragung unterstützt keine gleichzeitigen Downloads desselben URI. Eine App kann also einmal heruntergeladen http://example.com/myfile.wmv oder erneut heruntergeladen werden, nachdem ein vorheriger Download abgeschlossen ist. Eine App sollte nicht zwei Downloads desselben URI gleichzeitig starten, da dies zu abgeschnittenen Dateien führen kann.

Wichtig

Das Erstellen einer großen Anzahl von Übertragungen im Standard UI-Thread mit CreateDownload kann zu einer Leistungseinbuße der Benutzeroberfläche Ihrer App führen. Wenn Sie eine große Anzahl von Übertragungen in die Warteschlange stellen, empfiehlt es sich, CreateDownload für einen Hintergrundarbeitsthread aufzurufen, wie im folgenden Beispiel gezeigt.

operation = await Task.Run(() => { return myDownloader.CreateDownload(uri, file); });

Hinweis

Einige Dateisysteme weisen Dateigrößenbeschränkungen auf. Die Hintergrundübertragung verfügt über eine spezielle Logik für schnelle Fehlerübertragungen, die die Dateigrößengrenzwerte des Ziellaufwerks überschreiten (z. B. Dateien, die eine Größe von mehr als 4 GB für FAT32-Dateisysteme überschreiten). Wenn der Server mit einem Content-Length Headerwert antwortet, der größer als die maximale Dateigröße des Dateisystems ist, schlägt der Downloadvorgang sofort mit HRESULT_FROM_WIN32(ERROR_FILE_SYSTEM_LIMITATION) fehl.

Weitere Informationen

Gilt für: