2013-07-08 6 views
8

Mam problem (w rzeczywistości nie jeden, ale wiele problemów),BackgroundTransferService/Zapytanie

Zajmuję Windows Phone 8 aplikacji, które używają BackgroundTransferService transferu nagrany plik wav na HTC 8S pracuje prawie w porządku , ale w Nokii Lumia 920 wydaje się dziwne zachowanie, ma nieczytelny limit wysyłania równy 0,5 MB dokładnie 512 KB, z WiFi wydaje się działać dobrze, ale ten problem jest ponad komórkowym.

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); 

kiedy sięgam TotalBytesSent = 512KB zatrzyma przesyłanie

sprawdzić to zbyt

var tmp = NetworkInformation.GetInternetConnectionProfile(); 
var cost = tmp.GetConnectionCost(); 
var type = cost.NetworkCostType; 

i wszystko wydaje się dobrze

EDIT:

na server- strona ma tylko dochód 380000 bajtów +/- 5 KB

Czasami po 10 nieudanych uruchomieniach (przy wysyłaniu tylko 380KB itd.) Przesłanego pliku należy go natychmiast załadować: D. Gdzieś, gdzie jestem poza biurem, działa idealnie za pierwszym razem, a innym razem nigdy go nie wysyłaj.

Jest rzeczą całkowicie nieprzewidywalne

ROZWIĄZANIE:

Problem był po stronie serwera ... Miałem rodzajowe obsługi zapisywania tego pliku bez wsparcia nagłówków Range (chyba). Kiedy zmienię swój projekt na "Asp.NET Web Api Project" zainspirowany/skopiowany przez this samouczek

To nie działa wczoraj, ale dzisiaj jego nieoczekiwanie zaczyna działać: D Crazy Nokia i .NET.

Zobaczymy jutro, co stanie się dalej.

+0

Na wszelki wypadek, czy jesteś pewien, że to 0,5 MB, a nie 5 MB? Ponieważ 5 MB to limit transferu w sieci komórkowej –

+0

Tak dokładnie 0,5 MB, znam limit 5 MB i dostosowuję limit rozmiaru rekordu. Kiedy debuguję to widzę w "transferRequest_TransferProgressChanged", że osiągam max. 0,5 MB we właściwości żądania "request.BytesSent" i nie rozumiem dlaczego :). Jutro spróbuję skontaktować się z ewangelistą Nokia lub MS, aby pomóc. – lukasChudy

+0

Limit transferu wynoszący 50 MB w sieci komórkowej, a nie 5 MB. –

Odpowiedz

0

Jak stwierdził IukasChudy rozwiązanie jego problemu jest

Problem był po stronie serwera ... Miałem rodzajowe obsługi do zapisywania tego pliku bez wsparcia nagłówków Range (chyba). Kiedy mogę zmienić projekt do „Asp.NET Web Api projektu” inspirowany/kopiowany przez tego poradnika

Jego nie działa wczoraj, ale dzisiaj jej niespodziewanie rozpocząć pracę : D Szalony Nokia i .NET.

Zobaczymy jutro, co stanie się dalej.

P.S. Nie lubię pisać odpowiedzi z treścią innych, ale nienawidzę pytań bez odpowiedzi, które są już rozwiązane.