xml 파일에서 생성 된 컬렉션을 반환하는 함수를 개발 중입니다.WebClient - 파일이 다운로드 될 때까지 대기
처음에는 테스트를 위해 로컬 xml 파일을 사용했지만 이제는 서버에서 실제 xml 파일을 다운로드 할 준비가되었습니다. WebClient
객체에 OpenReadCompleted
이벤트 핸들러가 필요하다는 사실 때문에이 작업을 수행 할 수있는 방법을 알기 위해 고심하고 있습니다.이 핸들러에서 콜렉션 데이터를 반환 할 수 없으며이 핸들러가 실행될 때까지 원래 함수가 종료되었습니다. .
public static ObservableCollection<OutletViewModel> GetNear(GeoCoordinate location)
{
ObservableCollection<OutletViewModel> Items = new ObservableCollection<OutletViewModel>();
// Load a local XML doc to simulate server response for location
XDocument xDoc = XDocument.Load("SampleRemoteServer/outlet_list.xml");
foreach (XElement outlet in xDoc.Descendants("outlet"))
{
Items.Add(new OutletViewModel()
{
Name = outlet.Attribute("name").Value,
Cuisine = outlet.Attribute("cuisine").Value
});
}
return Items;
}
가 어떻게 이벤트 핸들러 실행이이 기능에 파일을로드 할 수 있습니다, 다음 기능을 계속 다음과 같이
내 원래 코드는?
내가 생각할 수있는 것은 이벤트 처리기 코드에 의해 업데이트되는 변수를 계속 확인하기 위해 루프를 추가하는 것 뿐이라고 생각할 수 있습니다. 좋은 해결책이 아닌 것 같습니다.
덕분에, 조쉬
당신은 당신은 내가 비동기보고 시작했습니다 –
설계를 조정할 필요가 있다는 것을 의미하더라도, 그것은 비동기 요청에 독서 가치가있을 수 있으므로, UI 스레드를 차단하지 않으/키워드를 기다려주세요, 감사합니다! – Josh