¿Cómo usar el método WebClient.DownloadDataAsync () en este contexto?

Mi plan es hacer que un usuario escriba un título de película en mi programa y mi programa obtendrá la información apropiada de forma asíncrona para que la interfaz de usuario no se congele.

Aquí está el código:

public class IMDB
    {
        WebClient WebClientX = new WebClient();
        byte[] Buffer = null;


        public string[] SearchForMovie(string SearchParameter)
        {
            //Format the search parameter so it forms a valid IMDB *SEARCH* url.
            //From within the search website we're going to pull the actual movie
            //link.
            string sitesearchURL = FindURL(SearchParameter);

            //Have a method download asynchronously the ENTIRE source code of the
            //IMDB *search* website.
            Buffer = WebClientX.DownloadDataAsync(sitesearchURL);


            //Pass the IMDB source code to method findInformation().

            //string [] lol = findInformation();

            //????

            //Profit.

            string[] lol = null;
            return lol;
        }

Mi problema real radica en el método WebClientX.DownloadDataAsync (). No puedo usar una URL de cadena para ello. ¿Cómo puedo usar esa función incorporada para descargar los bytes del sitio (para su uso posterior, convertiré esto en una cadena, sé cómo hacerlo) y sin congelar mi GUI?

Tal vez un ejemplo claro de DownloadDataAsync para que pueda aprender a usarlo.

Gracias SO, siempre eres un gran recurso.

Respuestas a la pregunta(6)

Su respuesta a la pregunta