Desde el Windows 8 Vista previa del consumidor fue lanzado hace unos días, estoy trabajando en el nuevo WinRT (para aplicaciones Metro) en C# y me había portado mi ser escrita de clase IRC a la nueva roscado y redes.actualización de la interfaz de usuario a partir de hilos en WinRT
El problema es: Mi clase está en ejecución un subproceso para recibir mensajes desde el servidor. Si esto sucede, el hilo está realizando un análisis sintáctico y luego activando un evento para informar a la aplicación sobre esto. La función suscrita entonces 'debería' actualizar la IU (un bloque de texto).
Este es el problema, el hilo no puede actualizar la interfaz de usuario y el método invocador que ha trabajado con .NET 4.0 no parece ser posible nunca más. ¿Existe una nueva solución para esto o una mejor manera de actualizar la UI? Si trato de actualizar la interfaz de usuario del suscriptor de eventos voy a conseguir este Exception
:
La aplicación llama una interfaz que se marshalled para un hilo diferente (Excepción de HRESULT: 0x8001010E (RPC_E_WRONG_THREAD))
Esto es por diseño. Los hilos cuestan energía de la batería. El nuevo estilo para IO asíncrono es especificando continuaciones. Hay algo de cobertura (tutoriales vidoes) sobre esto en http://channel9.msdn.com. –
Pensándolo bien, podría ser que BackgroundWorker todavía funciona, que es más como un hilo, y también tiene cálculo de referencias (puede enviar actualizaciones de progreso a hilo de interfaz de usuario). –