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.
1, se crea en el HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurr
1. Mueva el mouse a la esquina inferior derecha de la pantalla,
Repare Win8.1 BUG, resuelva las fuentes en inglés de Win8.1 no representan problemas Win8.1 actu
OneDrive es un servicio de almacenamiento en la nube de Microsoft que se integra en
Cómo determinar si su sistema win8 está activado
Equipo Win8 utiliza un enrutador para limitar el método de velocidad de red
Crear un cambio personalizado en Win8. Comienza el fondo de inicio de Win8
La reparación bajo Win8.1 no puede conectarse a esta red
Win8 abre el método del panel de entrada de matemáticas
¿Qué debo hacer si la función de suspensión del sistema Win8.1 no se utiliza?
Win8 Bitlocker Drive para USB Disk Encryption Tutorial
Win8.1 versión oficial de las 10 nuevas características
Los resultados de búsqueda de Bing en el sistema Win8 no muestran miniaturas
Cómo ingresar al modo seguro del sistema windows8 recién instalado
Habilidades de creación de particiones OEM en el sistema operativo Win8
Win7 sistema localhost no puede abrir el tutorial gráfico
Win10 actualización 9226 error 0x80240020 solución
Apple lanza OS X 10.7.4 última versión beta para desarrolladores
Configure win7 para permitir que la computadora salga sin guardar las huellas de la configuración
El fabricante conjunto de automóviles de Microsoft lanza el paquete de temas de Windows 7
¿Qué debo hacer si la cámara de la computadora Win7 no se puede usar?
Win8 sistema tormenta voz no puede ejecutar la solución
¿Se restablece Google Chrome? Consejos para restablecer Google Chrome
Cepillo Win10 ojos y ojos: los gemelos de belleza son vistos por Windows Hello