我的silverlight應用程序從asmx web服務(比如set A和set B,set A有幾個文件,set B有大量文件)從異步獲取兩組文件。在接收一個集合中的每個文件時,它應該被解析並且需要更新一些數據結構。 只要接收到整個集合A,就會向Web服務發出異步請求以獲取集合B.使用單獨工作線程改善異步任務的UI響應
收到集合A後,應用程序就可以使用了。但由於文件仍然從B組收到,因此用戶界面不太靈敏。有什麼辦法可以提高文件在後臺獲取和處理時的響應速度。 web服務處理程序的async_task_completed是否可以在不同的線程上工作。有一個BackgroundWorker
線程有意義嗎?
編輯:只是爲了澄清,一組(數百個文件)的異步請求一起發佈。
您能檢測到無響應的確切原因嗎? UI線程上的執行代碼,由UI線程上的開始/結束異步請求創建的開銷,異步請求的數量,還是什麼? –
試用Silverlight 5測試版。它應該解決一些與網絡相關的性能問題。如果它有幫助,那麼你很好,如果不是,那麼它的東西。 – Denis
開銷是接收和處理文件。我不確定它在UI線程上。我沒有明確地創建線程,所以我想它應該在UI線程上。 – devnull