Tôi có một cuộc gọi mà tôi đang thực hiện từ bên trong một C#
ứng dụng metro dựa trên xaml trên Win8 CP; lệnh gọi này chỉ cần truy cập vào một dịch vụ web và trả về dữ liệu JSON.
HttpMessageHandler handler = new HttpClientHandler();
HttpClient httpClient = new HttpClient(handler);
httpClient.BaseAddress = new Uri("http://192.168.1.101/api/");
var result = await httpClient.GetStreamAsync("weeklyplan");
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(WeeklyPlanData[]));
return (WeeklyPlanData[])ser.ReadObject(result);
Nó bị treo await
nhưng cuộc gọi http thực sự trả về gần như ngay lập tức (xác nhận thông qua fiddler); nó như thể await
bị bỏ qua và nó chỉ treo ở đó.
Trước khi bạn hỏi - CÓ - khả năng Mạng Riêng được bật.
Bất kỳ ý tưởng tại sao điều này sẽ bị treo?
async
phương pháp đó như thế nào? Nó không ném ra một ngoại lệ?