2011-12-06 3 views
0

웹 클래스를 사용하여 클래스 내에서 비동기 다운로드를 수행하고 있습니다. 즉다른 클래스에있는 DownloadStringAsync에 액세스합니다.

public void download() 
{ 
    WebClient client = new WebClient(); 
    client.DownloadStringCompleted += new DownloadStringCompletedEventHandler(client_DownloadStringCompleted); 
    client.DownloadStringAsync(new Uri("http://www.url.com")); 
} 

나는 CancelAysnc 방법의 사용을 만들려고 노력하고있어, 나는 같은 것을 사용하는 거라고 추정 :

client.CancelAsync(); 

을하지만, 예를 들어, 그것을 사용하고자하는 클릭 이벤트 방식. 물론 내가 위의 샘플을 사용해 보았을 때 그것은 클라이언트에 대해 안다. 어떻게 액세스 할 수 있습니까?

감사

답변

1

당신은 로컬 변수 아닌 다른 클라이언트 객체를 저장해야합니다. 이렇게하면 download() 메소드 외부에서 액세스 할 수 있습니다.

1

범위 ...

WebClient client; 
public void download() { 
    client = new WebClient(); 
    // Further code... 
} 

public void cancel() { 
    client.CancelAsync(); 
} 
관련 문제