我有一個iPhone應用程序正在從ASP.NET MVC服務中提取所有數據。使用Monotouch和iOS從服務中提取數據(JSON)的理想方法?
基本上只是返回JSON。
當我在模擬器中運行應用程序時,數據被非常快地拉下來等等。但是當我使用實際設備(3G或WiFi)時,它非常慢。應用程序崩潰時間過長。
a)我不應該從AppDelegate中的FinishedLaunching方法調用服務嗎?
b)我是否錯誤地撥打了該服務?
我使用的方法是這樣的:
public static JsonValue GetJsonFromURL(string url) {
var request = (HttpWebRequest)WebRequest.Create (url);
request.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;
using(var response = (HttpWebResponse)request.GetResponse()) {
using(var streamReader = new StreamReader(response.GetResponseStream())) {
return JsonValue.Load(streamReader);
}
}
}
有沒有更好的或者更直接的方式,我應該查詢服務?我讀過關於在不同線程上執行操作或執行異步調用以不鎖定UI的問題,但我不確定最佳方法或代碼如何工作。