我很難過,我需要你的幫助。WPF> WEBAPI> HttpClient> AWAIT = UI延遲
我有一個WPF應用程序,使用ASYNC & AWAIT調用WEBAPI,我的用戶界面出現延遲。
這裏是我使用的代碼...
HttpResponseMessage response = await WEBAPI.GetHttpClient().GetAsync("api/COStateType/GetStateTypesByCountryID/" + Constants.COUNTRY_ID_USA);
response.EnsureSuccessStatusCode();
App.stateTypes = await response.Content.ReadAsAsync<List<coStateType>>();
的GetHttpClient代碼...
public static HttpClient GetHttpClient()
{
HttpClient client = new HttpClient();
client.BaseAddress = new Uri(ConfigurationManager.AppSettings["ABS2.WEBAPI.Uri"]);
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
return client;
}
這裏是主要問題...
在啓動過程中我用移動齒輪(動畫)顯示啓動畫面。實施對WEBAPI的調用後,動畫不再流暢。我讀過使用HttpClient導致UI阻塞的ASYNC調用,這是我的動畫發生的情況。
這裏是問題...
反正有這個問題嗎?我試過在BackgroundWorker和/或Task中包裝這個調用,但都沒有解決這個問題。是否有另一種與WEBAPI進行通信的方式,不會導致此UI被阻塞?我做錯了什麼?
很多,非常感謝任何和所有幫助!