Tarea 2: Configuración de servicios de tiempo de ejecución mediante App.Config
En Tarea 1: Configuración de servicios en tiempo de ejecución mediante código, agregó el servicio DefaultWorkflowSchedulerService al motor de tiempo de ejecución de Windows Workflow Foundation llamando al método AddService que se define en la clase WorkflowRuntime. En este ejercicio, utiliza un método diferente para configurar los servicios en tiempo de ejecución: utiliza un archivo de configuración de la aplicación.
Utilizar un archivo de configuración es una alternativa más flexible porque le permite crear varias configuraciones diferentes del motor de tiempo de ejecución del flujo de trabajo de Windows que su aplicación puede utilizar. Por ejemplo, puede crear una configuración que no utiliza ningún servicio o puede crear una configuración del motor de tiempo de ejecución que utiliza la persistencia y el seguimiento durante la ejecución del flujo de trabajo. Además, estas configuraciones diferentes se pueden definir en el mismo archivo de configuración y la aplicación host puede obtener acceso a ellas como se requiere.
Nota
Si completó Tarea 1: Configuración de servicios en tiempo de ejecución mediante código, debe deshacer todos los cambios que realizó en el proyecto porque está utilizando un archivo de configuración para configurar los servicios de tiempo de ejecución. Los archivos de proyecto proporcionados con esta tarea no contienen el código agregado en la tarea anterior y por consiguiente proporcionan un buen punto de partida.
Nota
Aunque se le anima a seguir los ejercicios de una manera lineal, no es necesario que lo haga. Puede iniciar este ejercicio abriendo el proyecto de ejemplo y continuando con los pasos de la siguiente sección.
Para crear el archivo de configuración de la aplicación
Cree un nuevo archivo denominado App.config en su directorio de proyecto.
En el archivo de proyecto de HostingWorkflows, en el elemento ItemGroup que contiene sus archivos de código fuente, agregue un nuevo elemento denominado None.
Agregue un atributo denominado Include con el valor "App.config".
Para definir el archivo de configuración de la aplicación.
En el archivo App.config, cree la instrucción de procesamiento XML estándar con codificación UTF-8.
<?xml version="1.0" encoding="utf-8" ?>
Cree un elemento raíz denominado configuration.
<configuration> </configuration>
En el elemento configuration, cree un nuevo elemento denominado configSections.
<configSections> </configSections>
En el elemento configSections, cree un nuevo elemento denominado section.
Agregue un atributo denominado name con el valor "HostingWorkflowRuntime".
Agregue otro atributo denominado type con el valor "System.Workflow.Runtime.Configuration.WorkflowRuntimeSection, System.Workflow.Runtime, Version=3.0.00000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35".
<section name="HostingWorkflowRuntime" type="System.Workflow.Runtime.Configuration.WorkflowRuntimeSection, System.Workflow.Runtime, Version=3.0.00000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
Nota
Puede crear tantas secciones de configuración como desee. Para este ejercicio, sin embargo, sólo tiene que crear una.
Cree un nuevo elemento en el nodo configuration denominado HostingWorkflowRuntime que contenga un atributo denominado name con el valor "Hosting".
Nota
Este nombre de elemento es el mismo nombre que especificó en el atributo de name para la sección que creó en el paso 5. Si crea varias secciones de configuración, cree nuevos elementos que correspondan a cada nombre de sección.
<HostingWorkflowRuntime Name="Hosting"> </HostingWorkflowRuntime>
En el elemento HostingWorkflowRuntime, cree un nuevo elemento denominado CommonParameters.
<CommonParameters/>
En el elemento HostingWorkflowRuntime, cree un nuevo elemento denominado Services.
<Services> </Services>
En el elemento Services, cree un nuevo elemento denominado add.
Agregue un atributo denominado type con el valor System.Workflow.Runtime.Hosting.DefaultWorkflowSchedulerService, System.Workflow.Runtime, Version=3.0.00000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35.
Agregue otro atributo denominado maxSimultaneousWorkflows con el valor 1.
<add type="System.Workflow.Runtime.Hosting.DefaultWorkflowSchedulerService, System.Workflow.Runtime, Version=3.0.00000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" maxSimultaneousWorkflows="1"/>
Su archivo App.config es similar a la configuración siguiente.
<?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <section name="HostingWorkflowRuntime" type="System.Workflow.Runtime.Configuration.WorkflowRuntimeSection, System.Workflow.Runtime, Version=3.0.00000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> </configSections> <HostingWorkflowRuntime Name="Hosting"> <CommonParameters/> <Services> <add type="System.Workflow.Runtime.Hosting.DefaultWorkflowSchedulerService, System.Workflow.Runtime, Version=3.0.00000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" maxSimultaneousWorkflows="1"/> </Services> </HostingWorkflowRuntime> </configuration>
Para utilizar el archivo de configuración de la aplicación
En el método Main de la clase Program, agregue un parámetro al constructor WorkflowRuntime que se utiliza para crear instancias del objeto WorkflowRuntime.
Este parámetro es un tipo String que especifica el nombre de la sección de configuración que se va a utilizar.
Compilación del código
Para obtener información sobre cómo compilar el código, consulte Compilación del código.
En Tarea 3: Uso del servicio de persistencia de Windows Workflow, obtiene información sobre cómo utilizar el servicio SqlWorkflowPersistenceService para almacenar el estado actual de su flujo de trabajo.
Consulte también
Tareas
Tarea 3: Uso del servicio de persistencia de Windows Workflow
Referencia
DefaultWorkflowSchedulerService
System.Workflow.Runtime.Configuration
Conceptos
Cómo agregar y quitar servicios de flujo de trabajo
Otros recursos
Workflow Configuration Formats
Copyright © 2007 Microsoft Corporation. Reservados todos los derechos.