VS 2008 SP1DownloadStringAysnc - 진행 상황을 표시하지 않습니다.
DownloadStringAysnc를 사용하고 있습니다. 그러나 ProgressChanged 이벤트는 문자열을 다운로드 할 때까지 진행 상황을 표시하지 않습니다.
큰 파일에 들어있는 문자열을 다운로드하려고해도. 프로그램은 응답을 유지하므로 뭔가하는 것으로 알고 있습니다. 그러나 진행 상황이 완료되어 progressChanged 이벤트가 발생합니다.
나는 이것을 progressChanged 및 DownloadStringCompleted로 즉시 알았다. 그러나 파일이 상당히 크기 때문에 일시 중지해야합니다.
이것은 현재 사용중인 코드 조각입니다. 그리고 아래 출력. e.progresscentcentage가 100 % 이상한 것은 이상합니다. 그리고 두 번 불리는 것 같습니다. 편집이 DownloadDataAysnc의 ===============
wbCheckUpdates.DownloadDataAsync(new Uri(Path.Combine(webServerURL, "version.txt")), "Version1");
void wbCheckUpdates_DownloadDataCompleted(object sender, DownloadDataCompletedEventArgs e)
{
byte[] result = e.Result;
Console.WriteLine("Completed data: [ " + System.Text.ASCIIEncoding.Default.GetString(result) + " ]");
}
를 사용하는 조언에 대한
많은 감사,
Output in the progress changed event
Progress changed Version userstate: [ Version1 ]
progressBar1.Value [ 100 ]
Progress changed Version userstate: [ Version1 ]
progressBar1.Value [ 100 ]
Completed Version userstate: [ Version1 ]
private void UpdateAvailable()
{
WebClient wbCheckUpdates = new WebClient();
wbCheckUpdates.DownloadProgressChanged += new DownloadProgressChangedEventHandler(wbCheckUpdates_DownloadProgressChanged);
wbCheckUpdates.DownloadStringCompleted += new DownloadStringCompletedEventHandler(wbCheckUpdates_DownloadStringCompleted);
DownloadFiles df = new DownloadFiles();
string webServerURL = df.webServerPath;
wbCheckUpdates.DownloadStringAsync(new Uri(Path.Combine(webServerURL, "version.txt")), "Version1");
}
void wbCheckUpdates_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
{
Console.WriteLine("Progress version changed userstate: [ " + e.UserState + " ]");
progressBar1.Value = e.ProgressPercentage;
Console.WriteLine("progressBar1.Value [ " + this.progressBar1.Value + " ]");
}
void wbCheckUpdates_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
Console.WriteLine("Completed version userstate: [ " + e.UserState + " ]");
}
===========
결과는 동일합니다
Progress changed Version userstate: [ Version1 ]
progressBar1.Value [ 100 ]
Progress changed Version userstate: [ Version1 ]
progressBar1.Value [ 100 ]
Completed data: [ 1.0.11 ]
그냥 궁금 해서요. 코드에서 대괄호로부터 여덟 칸을 들여 쓰는 방법 서명이 정말로 있습니까? 이전에 보았을 때 코드를 입력하는 것이 실수라고 생각했지만 어디에서나 볼 수 있습니다. –