2009-09-26 4 views
0

VSTS 2008 + C# + .Net 3.5를 사용하여 서버에 파일을 업로드하는 콘솔 응용 프로그램을 개발하고 있습니다. 업로드 진행 상황을 보여주고 싶습니다. WebClient.UploadProgressChanged 이벤트를 사용하려고하지만 해당 기능에 대해 혼란 스럽습니다. "비동기 업로드 작업이 일부 또는 모든 데이터를 성공적으로 전송할 때 발생합니다." 내 혼란은 언제 일어날까요? "some or all"이라는 단어가 너무 혼란 스럽습니다. 파일의 1 %가 업로드 될 때마다이 이벤트가 호출된다는 의미입니까? 10 %? 일부 고정 바이트? 무작위로 전화 했어? 또는 다른 것? 사전에WebClient.UploadProgressChanged 이벤트 문제

http://msdn.microsoft.com/en-us/library/system.net.webclient.uploadprogresschanged.aspx

덕분에, 조지

답변

1

그것이 말씀의 종류 않습니다. 큰 파일의 경우 이벤트에 대한 호출이 많고 작은 페이지의 경우에는 1 또는 2 만 호출됩니다. UploadProgressChangedEventArgs에는 관련 정보가 들어 있습니다.

+0

이 메서드가 얼마나 자주 호출되는지 규칙이 무엇입니까? 1 % 당 한 번? 고정 된 바이트 수를 전송할 때 호출되는 이유는 무엇입니까? 또는 순전히 무작위로 호출되어서 추정 할 수 없습니다 (예 : 동일한 파일을 전송하더라도 첫 번째 업로드 5 회 진행률 변경보고, 두 번째 시간 업로드 10 회 진행률보고). 당신이 무작위로 할 수 있다면 고맙겠군요? – George2

+1

나는 무작위로 할 수 있 었는가? 나는 시도 할 것이다. 나는 그것이 기회 주의적으로 구현 될 것으로 기대한다. 정확하거나 원형에 기초한보고를하는 것은 가치가 없다. 그러니 그대로 가져 가세요. 왜 이걸 그렇게 중요하다고 생각하니? –

+0

파일 업로드를위한 진행률 표시 줄을 구현 중입니다. 이 진행 보고서 콜백이 거의 호출되지 않는 경우 사용자 경험이 깨질 수 있습니다 (예 : 사용자가 한 시간이 걸리는 파일을 업로드하는 경우이 이벤트 리포터를 두 번만 호출하면 사용자는 두 가지 상태, 즉 50 % 완료 및 100 완료 %). 나는 훌륭한 세분성을 원한다. 이 기능이 충분하지 않으면 내 자신을 구현해야합니다. 어떤 아이디어? – George2