Übertragen von Daten im Hintergrund (HTML)

[ Dieser Artikel richtet sich an Windows 8.x- und Windows Phone 8.x-Entwickler, die Windows-Runtime-Apps schreiben. Wenn Sie für Windows 10 entwickeln, finden Sie weitere Informationen unter neueste Dokumentation]

Verwenden Sie die in der Windows-Runtime bereitgestellten Windows.Networking.BackgroundTransfer-APIs, um Ihre App mit erweiterten Features für das Herunterladen und Hochladen von Dateien zu optimieren, die im Hintergrund ausgeführt werden, während die App angehalten ist, mit denen die Lebenszyklusverwaltung pro Vorgang durchgeführt werden kann und die nach der Beendigung der App erhalten bleiben. Dieses Feature eignet sich perfekt zum Herunterladen und Hochladen großer Dateien unter Verwendung des HTTP- oder HTTPS-Protokolls. FTP wird unterstützt, allerdings nur beim Herunterladen.

Hintergrundübertragungen werden getrennt von der aufrufenden App ausgeführt und wurden hauptsächlich für lange Übertragungen von Ressourcen wie Videos, Musik und großen Bildern entwickelt. Für diese Szenarien ist die Verwendung der Hintergrundübertragung unverzichtbar, da Downloads im Hintergrund fortgesetzt werden – selbst dann, wenn die App angehalten ist. Auf dem Telefon werden Hintergrundübertragungen auch dann fortgesetzt, wenn die App beendet wurde. Weitere Informationen zum Lebenszyklus von Apps finden Sie in der Dokumentation zum Anwendungslebenszyklus.

Hinweis   Wenn Sie kleine Ressourcen herunterladen, deren Download vermutlich schnell abgeschlossen ist, sollten Sie anstelle der Hintergrundübertragung HttpClient-APIs verwenden.

 

Wie funktioniert das Feature für die Hintergrundübertragung?

Wenn eine App die Hintergrundübertragung verwendet, um eine Übertragung zu initiieren, wird die Anforderung mithilfe des Klassenobjekts BackgroundDownloader oder BackgroundUploader konfiguriert und initialisiert. Alle Übertragungsvorgänge werden vom System einzeln und getrennt von der aufrufenden App behandelt. Statusinformationen sind verfügbar, falls Sie den Benutzer in der Benutzeroberfläche Ihrer App über den Status informieren möchten. Zudem kann Ihre App während der Übertragung angehalten, fortgesetzt und abgebrochen werden oder sogar die Daten lesen. Die Behandlung von Übertragungen durch das System unterstützt den intelligenten Stromverbrauch und verhindert Probleme, die entstehen können, wenn bei einer verbundenen App Ereignisse wie das Anhalten der App, das Beenden der App oder plötzliche Änderungen des Netzwerkstatus auftreten.

Sehen Sie sich dieses kurze Video zur Veranschaulichung eines einfachen Dateidownloads mit der Hintergrundübertragung an.

Windows Phone Store-Apps: Kann meine App die Hintergrundübertragung zum Erstellen authentifizierter Dateianforderungen verwenden?

Das Feature für die Hintergrundübertragung stellt Methoden bereit, die allgemeine Server- und Proxyanmeldeinformationen, Cookies sowie die Verwendung von benutzerdefinierten HTTP-Headern (mithilfe von SetRequestHeader) für einzelne Übertragungen unterstützen.

Wie reagiert dieses Feature bei Netzwerkstatusänderungen und unerwartetem Herunterfahren?

Das Feature für die Hintergrundübertragung bewahrt die Einheitlichkeit der einzelnen Übertragungen, wenn sich der Netzwerkstatus ändert. Hierzu werden die vom Feature für die Konnektivität bereitgestellten Statusinformationen zur Konnektivität und zum Status des Datentarifs des Netzbetreibers intelligent genutzt. Um das Verhalten für unterschiedliche Netzwerkszenarien zu definieren, legt eine App mithilfe der von BackgroundTransferCostPolicy definierten Werte eine Kostenrichtlinie für die einzelnen Übertragungen fest.

Beispielsweise kann die für einen Vorgang definierte Kostenrichtlinie vorsehen, dass der Vorgang automatisch angehalten wird, wenn das Gerät in einem getakteten Netzwerk verwendet wird. Die Übertragung wird automatisch fortgesetzt (oder erneut gestartet), wenn eine Verbindung mit einem "uneingeschränkten" Netzwerk hergestellt wird. Weitere Informationen zur Definition von Netzwerken durch Kosten finden Sie unter NetworkCostType.

Obwohl das Feature für die Hintergrundübertragung über eigene Mechanismen zur Behandlung von Netzwerkstatusänderungen verfügt, müssen bei mit einem Netzwerk verbundenen Apps einige allgemeine Punkte im Zusammenhang mit der Konnektivität beachtet werden. Weitere Informationen finden Sie unter Verwenden von Informationen zu verfügbaren Netzwerkverbindungen.

Hinweis  

Mithilfe von Features für Windows Phone Store-Apps kann der Benutzer die übertragene Datenmenge basierend auf dem Verbindungstyp, Roamingstatus und Datentarif überwachen und einschränken. Aus diesem Grund können Hintergrundübertragungen auf dem Telefon auch dann angehalten werden, wenn die Übertragung gemäß dem BackgroundTransferCostPolicy-Wert fortgesetzt werden sollte.

Die folgende Tabelle zeigt für jeden BackgroundTransferCostPolicy-Wert, wann Hintergrundübertragungen basierend auf dem aktuellen Status des Telefons zulässig sind. Sie können den aktuellen Status des Telefons auch mithilfe der ConnectionCost-Klasse ermitteln.

Status des Telefons UnrestrictedOnly Default Always
Mit WLAN verbunden Zulassen Zulassen Zulassen
Getaktete Verbindung, kein Roaming, unter dem Datenlimit, Überschreitung des Limits nicht zu erwarten Verweigern Zulassen Zulassen
Getaktete Verbindung, kein Roaming, unter dem Datenlimit, Überschreitung des Limits zu erwarten Verweigern Verweigern Zulassen
Getaktete Verbindung, Roaming, unter dem Datenlimit Verweigern Verweigern Zulassen
Getaktete Verbindung, Roaming, über dem Datenlimit. Dieser Status tritt nur auf, wenn der Benutzer in der Data Sense-Benutzeroberfläche die Option "Datennutzung im Hintergrund einschränken" aktiviert. Verweigern Verweigern Verweigern

 

Die RequestUnconstrainedDownloadsAsync- und RequestUnconstrainedUploadsAsync-APIs werden auf dem Telefon nicht unterstützt. Aufrufe dieser APIs werden erfolgreich kompiliert, schlagen aber zur Laufzeit mit einer E_NOT_IMPL-Ausnahme fehl.

Weitere Informationen zur Hintergrundübertragung

Abschnitt Beschreibung
Übertragen einer Datei aus einer Netzwerkressource

Fügen Sie der Windows Store-App die Funktion zum sicheren Herunter- und Hochladen von Dateien hinzu.

Background Transfer API reference

API-Dokumentation für den gesamten Windows-Runtime-Namespace für die Hintergrundübertragung.

Beispiel für eine Hintergrundübertragung

Dieses Beispiel veranschaulicht das energieeffiziente, kostensparende und flexible Verhalten der Hintergrundübertragungs-API für Windows Store-Apps.

 

Verwandte Themen

Herstellen einer Verbindung mit einem HTTP-Server mit "Windows.Web.Http"