Ich habe Problem (in Wirklichkeit nicht eine, sondern viele Probleme),BackgroundTransferService/Anfragen
Ich entwickle Windows Phone 8 App, die BackgroundTransferService für die Übertragung aufgezeichnet WAV-Datei zu verwenden, auf dem HTC 8S fast feine Arbeiten , aber auf Nokia Lumia 920 scheinen seltsames Verhalten, hat es einige nicht verständliche Upload-Limit gleich 0,5 MB genau 512 KB, mit WiFi scheint es funktioniert gut, aber dieses Problem ist über Mobilfunk.
var transferRequest = new BackgroundTransferRequest(new Uri(url, UriKind.Absolute));
transferRequest.Tag = DateTime.Now.ToString(CultureInfo.InvariantCulture);
transferRequest.Method = "POST";
transferRequest.UploadLocation = new Uri(defect.VoiceRecordFileName, UriKind.Relative);
transferRequest.TransferPreferences = TransferPreferences.AllowCellularAndBattery;
transferRequest.Headers.Add("Content-Type", "audio/wav");
transferRequest.TransferStatusChanged += new EventHandler<BackgroundTransferEventArgs>(transferRequest_TransferStatusChanged);
transferRequest.TransferProgressChanged += new EventHandler<BackgroundTransferEventArgs>(transferRequest_TransferProgressChanged);
BackgroundTransferService.Add(transferRequest);
wenn ich TotalBytesSent erreichen = 512KB es stoppen Hochladen
Ich überprüfe dies zu
var tmp = NetworkInformation.GetInternetConnectionProfile();
var cost = tmp.GetConnectionCost();
var type = cost.NetworkCostType;
und alles scheint in Ordnung
EDIT:
auf server- Seite ist Einkommen nur 380000 Bytes +/- 5 KB
Und manchmal, nach 10 fehlgeschlagenen Starts (wenn senden nur 380KB usw.) von Upload-Datei ist es plötzlich hochladen: D. Irgendwann, wo ich nicht mehr im Büro bin, funktioniert es perfekt beim ersten Mal und zu anderen Zeiten nie senden Sie es.
Sein völlig unberechenbar Sache
LÖSUNG:
Problem war Server-Side ... Ich hatte generische Handler diese Datei ohne Unterstützung des Range-Header für das Speichern (glaube ich). Wenn ich mein Projekt in "Asp.NET Web Api Project" geändert inspirierte/kopierte von this Tutorial
Es funktioniert gestern nicht, aber heute seine unerwartete Arbeit beginnt: D Crazy Nokia und .NET.
Wir werden morgen sehen, was als nächstes passiert.
Nur für den Fall, sind Sie sicher, dass es 0,5 MB und nicht 5 MB ist? Weil 5 MB ist das Übertragungslimit über Mobilfunknetz –
Ja genau 0,5 MB, weiß ich etwa 5 MB Grenze und ich stelle Limit für die Größe der Aufzeichnung. Beim Debuggen sehe ich in "transferRequest_TransferProgressChanged", dass ich max. 0,5 MB in Anfrage Eigenschaft "request.BytesSent" und ich verstehe nicht warum :). Morgen werde ich versuchen, einige Nokia oder MS Evangelisten zu kontaktieren, um zu helfen. – lukasChudy
seine 50 MB Übertragungsgrenze über Mobilfunk und nicht 5 MB. –