Llamadas asíncronas para el desarrollo de aplicaciones de Windows 8

  
                                    

Independientemente de si el cliente de escritorio o la aplicación web suelen tener un largo tiempo de procesamiento, para no afectar la interacción entre el usuario y la aplicación durante este tiempo, el desarrollador usualmente usa la tecnología de llamada asíncrona para hacer la operación más complicada. La operación lógica se realiza de forma asíncrona, y el usuario aún puede continuar usando la aplicación sin esperar una respuesta.

Este artículo mostrará cómo usar la programación asíncrona en las aplicaciones de Windows 8 con un ejemplo simple. Primero, escribamos el botón "Obtener blogs", haga clic en él para obtener una lista de blogs del Blog de Windows. Por supuesto, el proceso de obtener información del blog se realiza de forma asíncrona. En este proceso, para probar al usuario, la aplicación aún puede interactuar con la aplicación. Diseñamos un   Cambiar texto " para modificar el contenido del texto en espera.

Código

< Orientación de StackPanel = " Horizontal " Grid.Row = " 1 " >

< StackPanel >

< TextBlock x: Name = " listTitle " Height = " 40 " Width = " 200 "

Style = " {StaticResource BasicTextStyle} " />

< ListView x : Nombre = " blogList " ItemTemplate = " {StaticResource listTemplate} "

VerticalAlignment = " Top " HorizontalAlignment = " Izquierda " Altura = " 550 "

Margen = " 50,10,0,0 "Ancho = 650" />

< /StackPanel >

< StackPanel Orientation = " Vertical " VerticalAlignment = " Top " >

< TextBlock x: Name = " waitingText " Height = " 40 " Ancho = " 200 "

Style = " {StaticResource BasicTextStyle} " />

< Button x: Nombre = " getBlogs " Contenido = " Obtener Blogs " Ancho = " 150 "

Haga clic en = " getBlogs_Click " />

< Button x: Name = " changeText " Content = " Cambiar texto " Margin = " 0,10,0,0 "

Ancho = " 150 " Haga clic = " changeText_Click " />

< /StackPanel >

< /StackPanel >

El siguiente es " Obtener El botón Blogs " agrega el evento Click. La diferencia entre getBlogs_Click y el evento Click anterior es que hay una palabra clave asincrónica. Cuando ve Async, el siguiente contenido se implementa mediante el método asíncrono. En el método, el contenido del blog se obtiene a través de SyndicationClient.RetrieveFeedAsync, y el operador de espera se utiliza para informar a la aplicación para invocar la operación asíncrona sin afectar la interacción normal del usuario. Si no usa una llamada asíncrona, el usuario solo puede esperar a que se cargue todo el contenido del blog antes de continuar usando la aplicación.

privado async void getBlogs_Click (objeto remitente, RoutedEventArgs e) {

waitingText.Text = " Cargando blogs ... ";

Cliente de SyndicationClient = new SyndicationClient ( );

client.BypassCacheOnRetrieve = true;

Uri feedUri = new Uri

try

{

Feed de SyndicationFeed = await client .RetrieveFeedAsync (feedUri);

ObservableCollection < BlogItem > blogData = new ObservableCollection < BlogItem > ();

listTitle.Text = feed.Title.Text;

foreach ( SyndicationItem item in feed.Items)

{blogData.Add (new BlogItem ()

{Author = item.Authors [0] .Name.ToString (),

PubDate = item.PublishedDate.Year.ToString () + " /" +

item.PublishedDate.Month.ToString () + " /" +

item.PublishedDate. Day.ToString (),

Título = item.Title.Text

});}

blogLis t.ItemsSource = blogData;

waitingText.Text = " Completado! ";

}

catch (Exception ex)

{

waitingText.Text = " No se puede cargar la página: " + ex.ToString ();}}

Demo

Ejecutar el programa, haga clic en el botón " Obtener Blogs " ahora La aplicación ya ha obtenido el contenido del blog de forma asíncrona, que es algo en lo que podemos hacer clic en " Cambiar texto " para verificar que el usuario pueda continuar utilizando otras funciones que deben usarse.


Después de hacer clic en " Obtener Blogs ", aparecerán las palabras "Cargando Blogs …", indicando que se ha iniciado la llamada asíncrona.



Computer Knowledge

Haga clic en " Change Text " antes de obtener el contenido del blog, el texto cambiará a " Please Waiting … ", Explique que el usuario todavía puede interactuar con la aplicación cuando se le llama de forma asíncrona.

Una vez completada la llamada asíncrona, la parte del texto se actualiza a " Completed! ".

En este punto, el desarrollo de llamadas asíncronas está completo. Este artículo es solo un tipo de llamada asíncrona, por supuesto, hay muchos otros tipos de API para que todos puedan usar, e incluye el desarrollo multilingüe C #, VB, JS.


Copyright © Conocimiento de Windows All Rights Reserved