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.
NativeActivity es una clase abstracta con un constructor protegido. Al igual que CodeActivity, NativeActivity se usa para escribir un comportamiento imperativo mediante la implementación de un Execute método . A diferencia de CodeActivity, NativeActivity tiene acceso a todas las características expuestas del tiempo de ejecución del flujo de trabajo a través del objeto NativeActivityContext pasado al método Execute.
Uso de NativeActivityContext
Se puede tener acceso a las características del tiempo de ejecución del flujo de trabajo desde dentro del método Execute usando los miembros del parámetro context
, del tipo NativeActivityContext. Las características disponibles a través de NativeActivityContext incluyen las siguientes:
Obtención y configuración de argumentos y variables.
Programación de actividades infantiles con ScheduleActivity
Anular la ejecución de la actividad con Abort.
Cancelar la ejecución de procesos secundarios mediante CancelChild y CancelChildren.
Acceso a marcadores de actividad mediante métodos como CreateBookmark, RemoveBookmarky ResumeBookmark.
Características de seguimiento personalizadas mediante Track.
Acceso a las propiedades de ejecución y a las propiedades de valor de la actividad mediante GetProperty y GetValue.
Programación de acciones y funciones de actividad mediante ScheduleAction y ScheduleFunc.
Para crear una actividad personalizada que herede de NativeActivity
OpenVisual Studio 2010.
Seleccione Archivo, Nuevo y, a continuación, Proyecto. Seleccione Flujo de trabajo 4.0 en Visual C# en la ventana Tipos de proyecto y seleccione el nodo v2010 . Seleccione Biblioteca de actividad en la ventana Plantillas. Asigne al nuevo proyecto el nombre HelloActivity.
Haga clic con el botón derecho en Activity1.xaml en el proyecto HelloActivity y seleccione Eliminar.
Haga clic con el botón derecho en el proyecto HelloActivity y seleccione Agregar y, después, Clase. Nombre la nueva clase HelloActivity.cs.
En el archivo HelloActivity.cs, agregue las siguientes
using
directivas.using System.Activities; using System.Activities.Statements;
Haga que la nueva clase herede de NativeActivity agregando una clase base a la declaración de clase.
class HelloActivity : NativeActivity
Agregue funcionalidad a la clase agregando un Execute método .
protected override void Execute(NativeActivityContext context) { Console.WriteLine("Hello World!"); }
Invalide el CacheMetadata método y llame al método Add adecuado para permitir que el entorno de ejecución de flujo de trabajo conozca las variables, argumentos, elementos secundarios y delegados de la actividad personalizada. Para obtener más información, consulte la NativeActivityMetadata clase .
Use el NativeActivityContext objeto para programar un marcador. Consulte Bookmarks para obtener más información sobre cómo crear, programar y reanudar un marcador.
protected override void Execute(NativeActivityContext context) { // Create a Bookmark and wait for it to be resumed. context.CreateBookmark(BookmarkName.Get(context), new BookmarkCallback(OnResumeBookmark)); }