2013-07-08 31 views
8

我有問題(實際上不是一個而是很多問題)BackgroundTransferService /請求

我正在開發的Windows Phone 8應用程序使用BackgroundTransferService轉移錄製的WAV文件,在HTC 8S工作幾乎罰款,但在諾基亞Lumia 920上似乎有些奇怪的行爲,它有一些不可理解的上傳限制,等於0.5MB,完全512KB,而WiFi看起來工作正常,但這個問題已經過時了。

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

當我到達TotalBytesSent = 512KB它停止上傳

我檢查這個太

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

,一切似乎罰款

編輯:

的服務器 - 方收入只有380000字節+/- 5 KB

有時,上傳文件10次失敗開始(僅發送380KB等)時,其突然上傳它:D。有時候我不在辦公室,它會在第一時間完美地工作,其他時間永遠不會發送。

它完全不可預測的事情

SOLUTION:

問題是服務器端...我有救了這個文件,但不支持範圍頭(我認爲)的通用處理器。當我改變我的項目爲「Asp.NET Web Api Project」啓發/複製this教程

它昨天不工作,但今天它意外地開始工作:D瘋狂諾基亞和.NET。

明天我們會看到接下來會發生什麼。

+0

爲了以防萬一,你確定它是0.5 MB而不是5 MB?因爲5 MB是蜂窩網絡的傳輸限制 –

+0

剛好是0.5 MB,我知道約5 MB的限制,我調整了記錄大小的限制。當我調試這個,我看到「transferRequest_TransferProgressChanged」,我達到最大。請求屬性「request.BytesSent」中的0.5MB,我不明白爲什麼:)。明天我會嘗試聯繫一些諾基亞或MS傳道人的幫助。 – lukasChudy

+0

它在移動電話上的50MB傳輸限制,而不是5MB。 –

回答

0

正如IukasChudy指出解決他的問題是

問題是服務器端...我有通用的處理程序保存該文件 不支持範圍頭(我認爲)的。當我將我的項目 更改爲本教程啓發/複製的「Asp.NET Web Api項目」

昨天它不工作,但今天它意外地開始工作 :D瘋狂的諾基亞和.NET。

明天我們會看到接下來會發生什麼。

P.S.我不喜歡用別人的內容寫一個答案,但我討厭已經解決的未解決的問題。