사용자가 하나의 항목을 선택할 때마다 내 ViewModel이 내 서비스에서 해당 옵션과 관련된 데이터를 보내도록 요청하는 체크 박스 목록을 가지고 있습니다.Silverlight에서 비동기 데이터 수신을 처리하는 방법은 무엇입니까?
_myService.GetAssetSpotDataCompleted += GetAssetSpotDataCompleted;
_myService.GetAssetSpotDataAsync(descItem);
선택한 각 항목은 동일한 서비스 메서드를 호출하고 올바른 데이터를 다시 보내는 서비스를 디버깅합니다.
내 ViewModel에서 데이터를 아직받지 못한 상태에서 사용자가 일부 항목을 검사하면 내 문제가 나타납니다. 예 : 사용자가 항목 1과 항목 2를 선택했지만 내 viewModel에 서비스의 응답이 아직 없습니다.
내 ViewModel에서 정보가 수신되면 문제가 발생하므로 항상 e.Result에서 동일한 데이터가 두 번 수신됩니다. 대신 항목 1의 결과와 동일한 결과로 두 번 있지만 항상 방법 GetAssetSpotDataAsync
에 입력 한 후 나는 모든 디버깅 한 2
항목에 대해 내가 문제에 초점을 맞춘 것을 의미
((MyServiceClient)sender).GetAssetSpotDataCompleted -= GetAssetSpotDataCompleted;
if (e.Result != null)
사람이 나에게 도움이 될 수 있습니다 방법 GetAssetSpotDataCompleted
이러한 처음 두 줄?
사용자가 항목을 선택할 때마다 이벤트 처리기를 추가/제거해야합니까? 하나의 선언 만 있으면 충분합니다. – mslliviu