Share via


Ejemplo de controladores de excepciones anidados

Download sample

En este ejemplo se describe cómo establecer y utilizar los controladores de excepciones de Windows Workflow Foundation. Las excepciones proporcionan una forma estructurada, uniforme y con seguridad de tipos de controlar situaciones de error de los flujos de trabajo, las actividades y del nivel del usuario. El mecanismo de las excepciones de Windows Workflow Foundation es parecido al de C#. Permite a un programador iniciar excepciones, detectarlas por tipo y asignarlas a una variable.

Se puede asociar más de un controlador de excepciones a un flujo de trabajo o a una actividad que habilite el comportamiento de controlador de excepciones. Esto permite al programador tener código de controlador diferente en función del tipo de excepción. De la misma forma que en C#, cuando se inicia una excepción, se invoca el primer controlador de excepciones de la pila de llamadas que coincida con el tipo de excepción. Por ejemplo, si se inicia una excepción orderException y no hay ningún controlador de excepciones para ese tipo, la excepción se evalúa contra cualquier controlador de excepciones de la actividad que la contiene, y así sucesivamente, hasta llegar al nivel de flujo de trabajo. El flujo de trabajo finaliza una vez se ha ejecutado el controlador de excepciones de flujo de trabajo, o si no hay ningún controlador disponible en el nivel de flujo de trabajo.

En este ejemplo, el flujo de trabajo contiene una actividad FaultHandlersActivity. Es una actividad compuesta que admite el control de excepciones. La actividad SynchronizationScopeActivity contiene una única actividad CodeActivity. El controlador de código para la actividad CodeActivity inicia una System.Exception. La actividad FaultHandlersActivity tiene un controlador de excepciones para las excepciones System.Exception a las que se llamará para controlar esta excepción.

Utilizar el ejemplo

Para utilizar el ejemplo, debe crear la base de datos de persistencia de SQL.

Para crear la base de datos de persistencia de SQL

  1. Utilice Microsoft SQL Server 2005 Express, SQL Server 2000 o versiones posteriores, o SQL Server 2000 Desktop Engine (MSDE), para crear una base de datos nueva denominada SqlPersistenceService mediante la instrucción de consulta de SQL:

    CREATE DATABASE SqlPersisenceService

    Nota   Cuando se utiliza tanto SqlTrackingService como SqlWorkflowPersistenceService en una aplicación de flujo de trabajo, es recomendable utilizar una única base de datos tanto para persistencia como para seguimiento.

  2. En el área de trabajo del Analizador de consultas SQL, seleccione la base de datos que creó en el paso 1, en la lista de bases de datos disponibles.

  3. En el menú Archivo, haga clic en Abrir y abra el script de SQL %WINDIR%\Microsoft.NET\Framework\v3.0\Windows Workflow Foundation\SQL\<lenguaje>\SqlPersistenceService_Schema.sql.

  4. Ejecute la consulta haciendo clic en Ejecutar o presionando F5 para crear las tablas del servicio de persistencia de SQL.

  5. En el menú Archivo, haga clic en Abrir y abra el script de SQL %WINDIR%\Microsoft.NET\Framework\v3.0\Windows Workflow Foundation\SQL\<lenguaje>\SqlPersistenceService_Logic.sql.

  6. Ejecute la consulta haciendo clic en Ejecutar o presionando F5 para crear los procedimientos almacenados del servicio de persistencia de SQL.

Para generar el ejemplo

  1. Descargue el ejemplo haciendo clic en Descargar ejemplo en este tema.

    Así se extrae el proyecto de ejemplo en su disco duro local.

  2. Haga clic en Inicio, señale Programas, señale Microsoft Windows SDK y, a continuación, haga clic en CMD Shell.

  3. Vaya al directorio de origen del ejemplo.

  4. En el símbolo del sistema, escriba MSBUILD <nombre del archivo de solución>.

Para ejecutar el ejemplo

  • En la ventana del símbolo del sistema del SDK, ejecute el archivo .exe de la carpeta OutlookWorkflowWizard\bin\debug (o la carpeta OutlookWorkflowWizard\bin para la versión de VB del ejemplo), que se encuentra bajo la carpeta principal del ejemplo.

Consulte también

Referencia

FaultHandlersActivity
SynchronizationScopeActivity
CodeActivity

Otros recursos

Windows Workflow Foundation Activities
Ejemplo de inicio
Fault Handling in Workflows
Using the FaultHandlersActivity Activity
Ejemplos de actividades
Ejemplos de Windows Workflow Foundation

Footer image

Copyright © 2007 Microsoft Corporation. Reservados todos los derechos.