Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Actualización: noviembre 2007
En este ejemplo se muestra cómo controlar excepciones no controladas que se inician en subprocesos de trabajo secundarios.
En este ejemplo, se muestra una característica específica de Windows Presentation Foundation y, por tanto, no se siguen los procedimientos recomendados para el desarrollo de aplicaciones. Para obtener información completa sobre los procedimientos recomendados para el desarrollo de aplicaciones de Windows Presentation Foundation (WPF) y Microsoft .NET Framework, consulte la siguiente información según corresponda:
Accesibilidad: Procedimientos de accesibilidad recomendados
Localización: Información general sobre la localización y globalización de WPF
Rendimiento: Optimizar WPF: Rendimiento de aplicaciones
Seguridad: Seguridad de Windows Presentation Foundation
Generar el ejemplo
Instale el Kit de desarrollo de software de Windows (SDK) y abra la ventana de comandos del entorno de compilación. En el menú Inicio, elija Todos los programas, Microsoft Windows SDK y haga clic en Shell CMD.
Descargue el ejemplo, que encontrará en la documentación del kit de desarrollo de software (SDK), al disco duro.
Para generar el ejemplo en la ventana de comados del entorno de compilación, vaya al directorio de origen del ejemplo. En el símbolo del sistema, escriba MSBUILD.
Para generar el ejemplo en Microsoft Visual Studio, cargue la solución de ejemplo o el archivo del proyecto y presione CTRL+MAYÚS+B.
Ejecutar el ejemplo
Para ejecutar el ejemplo compilado en la ventana de comandos del entorno de compilación, ejecute el archivo .exe en la carpeta Bin\Debug o Bin\Release, que se encuentra bajo la carpeta de código fuente de ejemplo.
Para ejecutar el ejemplo compilado con depuración en Visual Studio, presione F5.
Comentarios
Las aplicaciones de WPF independientes u hospedadas por explorador utilizan la clase Application para detectar las excepciones no controladas (vea DispatcherUnhandledException). Sin embargo, Application sólo puede detectar excepciones no controladas que se inicien en el mismo subproceso que ejecuta la clase Application. Normalmente, una aplicación tendrá un subproceso principal de interfaz de usuario (UI), por lo que el comportamiento de detección de excepciones no controladas de la clase Application es adecuado. No obstante, la clase Application no detecta automáticamente en el subproceso de interfaz de usuario principal aquellas excepciones no controladas que se inician en subprocesos secundarios.
En este ejemplo se muestra cómo pasar las excepciones no controladas de los subprocesos de trabajo secundarios al subproceso de interfaz de usuario principal, donde el objeto Application las puede detectar. Para ello, se detectan las excepciones no controladas en los subprocesos secundarios de trabajo y se utiliza Dispatcher para reenviarlos al subproceso de la interfaz de usuario principal. En el subproceso de interfaz de usuario principal, se vuelven a iniciar para que el objeto Application pueda detectarlas.
Nota
Un subproceso secundario de trabajo es un subproceso secundario que no muestra la interfaz de usuario.
Vea también
Tareas
Ejemplo Managing Unhandled Exceptions on Secondary UI Threads