2012-05-04 2 views
0

인터넷에서 파일을 다운로드 할 때 BackgroundTransferService를 사용하고 있습니다.BackgroundTransferService 전송 요청 시간 제한 구현 - Windows Phone

의사 코드는 이런 식입니다 :

BackgroundTransferRequest transferRequest = new BackgroundTransferRequest(transferUri); 
transferRequest.Method = "GET"; 
transferRequest.Tag = "myTag"; 
transferRequest.TransferPreferences = TransferPreferences.AllowCellularAndBattery; 
BackgroundTransferService.Add(transferRequest); 

이 후, 나는이 완료되면 전송을 처리하는 이벤트 핸들러를 추가합니다. 난 단지 TransferStatusChanged 이벤트 핸들러를 사용하고 , 난 내 다운로드 한 파일을 함께 할, 또는 실패한 경우 (404 등)를 처리 할 수 ​​원하는 transfer_TransferStatusChanged() 내가 할 아래

transferRequests = BackgroundTransferService.Requests; 
transferRequests.Last().TransferStatusChanged += new EventHandler<BackgroundTransferEventArgs>(transfer_TransferStatusChanged); 

을 TransferProgressChanged 없습니다.

문제는 서버에서 404 응답이없는 경우 (예 : www.googlea.com/myfilename과 같은 서버가없는 경우) 무제한 시간 동안 다운로드가 계속 진행된다는 것입니다. 그런 시나리오에 대한 타임 아웃을 구현하고 싶습니다. 어떻게 할 수 있습니까?

답변

1

이러한 시나리오에 대한 지원은 기본적으로 제공되지 않습니다. 타임 아웃 지원을 직접 구축해야합니다.

대용량 파일을 전송할 때는 연결 및 배터리 충전 수준에 따라 부분적으로 또는 매우 오랜 기간 동안 전송할 수 있으므로주의하십시오.

물론 전송 요청을하기 전에 파일이 있는지 확인하고 서버를 제어 할 수있는 경우 정확한 응답을 보내야합니다.