WorkflowApplication.ResumeBookmark Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Inicia una operación para reanudar un marcador.
Sobrecargas
ResumeBookmark(String, Object, TimeSpan) |
Inicia una operación para reanudar el marcador con el nombre especificado, utilizando el valor y el intervalo de tiempo de espera especificados. El marcador que se va a reanudar se crea previamente mediante una actividad dentro de la instancia de flujo de trabajo. |
ResumeBookmark(Bookmark, Object, TimeSpan) |
Inicia una operación para reanudar el marcador especificado, utilizando el valor y el intervalo de tiempo de espera especificados. El marcador que se va a reanudar se crea previamente mediante una actividad dentro de la instancia de flujo de trabajo. |
ResumeBookmark(Bookmark, Object) |
Inicia una operación para reanudar el marcador especificado mediante el valor especificado. El marcador que se va a reanudar se crea previamente mediante una actividad dentro de la instancia de flujo de trabajo. |
ResumeBookmark(String, Object) |
Inicia una operación para reanudar el marcador con el nombre especificado, utilizando el valor especificado. El marcador que se va a reanudar se crea previamente mediante una actividad dentro de la instancia de flujo de trabajo. |
ResumeBookmark(String, Object, TimeSpan)
Inicia una operación para reanudar el marcador con el nombre especificado, utilizando el valor y el intervalo de tiempo de espera especificados. El marcador que se va a reanudar se crea previamente mediante una actividad dentro de la instancia de flujo de trabajo.
public:
System::Activities::BookmarkResumptionResult ResumeBookmark(System::String ^ bookmarkName, System::Object ^ value, TimeSpan timeout);
public System.Activities.BookmarkResumptionResult ResumeBookmark (string bookmarkName, object value, TimeSpan timeout);
member this.ResumeBookmark : string * obj * TimeSpan -> System.Activities.BookmarkResumptionResult
Public Function ResumeBookmark (bookmarkName As String, value As Object, timeout As TimeSpan) As BookmarkResumptionResult
Parámetros
- bookmarkName
- String
Nombre del marcador que se va a reanudar.
- value
- Object
Objeto pasado como parámetro al método que se invoca cuando se reanuda el marcador.
- timeout
- TimeSpan
Intervalo de tiempo durante el que se debe reanudar el marcador.
Devoluciones
Resultado de la operación de reanudación del marcador.
Ejemplos
En el ejemplo siguiente se crea un flujo de trabajo que usa una actividad de ReadLine
que crea un Bookmark. El flujo de trabajo se inicia y, una vez creado el Bookmark y el flujo de trabajo deja de estar inactivo, se recopila la entrada del usuario y se reanuda el marcador.
public sealed class ReadLine : NativeActivity<string>
{
[RequiredArgument]
public InArgument<string> BookmarkName { get; set; }
protected override void Execute(NativeActivityContext context)
{
// Create a Bookmark and wait for it to be resumed.
context.CreateBookmark(BookmarkName.Get(context),
new BookmarkCallback(OnResumeBookmark));
}
// NativeActivity derived activities that do asynchronous operations by calling
// one of the CreateBookmark overloads defined on System.Activities.NativeActivityContext
// must override the CanInduceIdle property and return true.
protected override bool CanInduceIdle
{
get { return true; }
}
public void OnResumeBookmark(NativeActivityContext context, Bookmark bookmark, object obj)
{
// When the Bookmark is resumed, assign its value to
// the Result argument.
Result.Set(context, (string)obj);
}
Variable<string> name = new Variable<string>();
Activity wf = new Sequence
{
Variables = { name },
Activities =
{
new WriteLine
{
Text = "What is your name?"
},
new ReadLine
{
BookmarkName = "UserName",
Result = new OutArgument<string>(name)
},
new WriteLine
{
Text = new InArgument<string>((env) =>
("Hello, " + name.Get(env)))
}
}
};
// Create a WorkflowApplication instance.
WorkflowApplication wfApp = new WorkflowApplication(wf);
// Workflow lifecycle events omitted except idle.
AutoResetEvent idleEvent = new AutoResetEvent(false);
wfApp.Idle = delegate(WorkflowApplicationIdleEventArgs e)
{
idleEvent.Set();
};
// Run the workflow.
wfApp.Run();
// Wait for the workflow to go idle before gathering
// the user's input.
idleEvent.WaitOne();
// Gather the user's input and resume the bookmark.
// Bookmark resumption only occurs when the workflow
// is idle. If a call to ResumeBookmark is made and the workflow
// is not idle, ResumeBookmark blocks until the workflow becomes
// idle before resuming the bookmark.
BookmarkResumptionResult result = wfApp.ResumeBookmark("UserName",
Console.ReadLine());
// Possible BookmarkResumptionResult values:
// Success, NotFound, or NotReady
Console.WriteLine("BookmarkResumptionResult: {0}", result);
Comentarios
El resultado del marcador indica si la operación de reanudación se realizó correctamente o no.
Se aplica a
ResumeBookmark(Bookmark, Object, TimeSpan)
Inicia una operación para reanudar el marcador especificado, utilizando el valor y el intervalo de tiempo de espera especificados. El marcador que se va a reanudar se crea previamente mediante una actividad dentro de la instancia de flujo de trabajo.
public:
System::Activities::BookmarkResumptionResult ResumeBookmark(System::Activities::Bookmark ^ bookmark, System::Object ^ value, TimeSpan timeout);
public System.Activities.BookmarkResumptionResult ResumeBookmark (System.Activities.Bookmark bookmark, object value, TimeSpan timeout);
member this.ResumeBookmark : System.Activities.Bookmark * obj * TimeSpan -> System.Activities.BookmarkResumptionResult
Public Function ResumeBookmark (bookmark As Bookmark, value As Object, timeout As TimeSpan) As BookmarkResumptionResult
Parámetros
- bookmark
- Bookmark
Marcador que se va a reanudar.
- value
- Object
Objeto pasado como parámetro al método que se invoca cuando se reanuda el marcador.
- timeout
- TimeSpan
Intervalo de tiempo durante el que se debe reanudar el marcador.
Devoluciones
Resultado de la operación de reanudación del marcador.
Ejemplos
En el ejemplo siguiente se crea un flujo de trabajo que usa una actividad de ReadLine
que crea un Bookmark. El flujo de trabajo se inicia y, una vez creado el Bookmark y el flujo de trabajo deja de estar inactivo, se recopila la entrada del usuario y se reanuda el marcador.
public sealed class ReadLine : NativeActivity<string>
{
[RequiredArgument]
public InArgument<string> BookmarkName { get; set; }
protected override void Execute(NativeActivityContext context)
{
// Create a Bookmark and wait for it to be resumed.
context.CreateBookmark(BookmarkName.Get(context),
new BookmarkCallback(OnResumeBookmark));
}
// NativeActivity derived activities that do asynchronous operations by calling
// one of the CreateBookmark overloads defined on System.Activities.NativeActivityContext
// must override the CanInduceIdle property and return true.
protected override bool CanInduceIdle
{
get { return true; }
}
public void OnResumeBookmark(NativeActivityContext context, Bookmark bookmark, object obj)
{
// When the Bookmark is resumed, assign its value to
// the Result argument.
Result.Set(context, (string)obj);
}
Variable<string> name = new Variable<string>();
Activity wf = new Sequence
{
Variables = { name },
Activities =
{
new WriteLine
{
Text = "What is your name?"
},
new ReadLine
{
BookmarkName = "UserName",
Result = new OutArgument<string>(name)
},
new WriteLine
{
Text = new InArgument<string>((env) =>
("Hello, " + name.Get(env)))
}
}
};
// Create a WorkflowApplication instance.
WorkflowApplication wfApp = new WorkflowApplication(wf);
// Workflow lifecycle events omitted except idle.
AutoResetEvent idleEvent = new AutoResetEvent(false);
wfApp.Idle = delegate(WorkflowApplicationIdleEventArgs e)
{
idleEvent.Set();
};
// Run the workflow.
wfApp.Run();
// Wait for the workflow to go idle before gathering
// the user's input.
idleEvent.WaitOne();
// Gather the user's input and resume the bookmark.
BookmarkResumptionResult result = wfApp.ResumeBookmark(new Bookmark("UserName"),
Console.ReadLine(), TimeSpan.FromSeconds(15));
// Possible BookmarkResumptionResult values:
// Success, NotFound, or NotReady
Console.WriteLine("BookmarkResumptionResult: {0}", result);
Comentarios
El resultado del marcador indica si la operación de reanudación se realizó correctamente o no.
Se aplica a
ResumeBookmark(Bookmark, Object)
Inicia una operación para reanudar el marcador especificado mediante el valor especificado. El marcador que se va a reanudar se crea previamente mediante una actividad dentro de la instancia de flujo de trabajo.
public:
System::Activities::BookmarkResumptionResult ResumeBookmark(System::Activities::Bookmark ^ bookmark, System::Object ^ value);
public System.Activities.BookmarkResumptionResult ResumeBookmark (System.Activities.Bookmark bookmark, object value);
member this.ResumeBookmark : System.Activities.Bookmark * obj -> System.Activities.BookmarkResumptionResult
Public Function ResumeBookmark (bookmark As Bookmark, value As Object) As BookmarkResumptionResult
Parámetros
- bookmark
- Bookmark
Marcador que se va a reanudar.
- value
- Object
Objeto pasado como parámetro al método que se invoca cuando se reanuda el marcador.
Devoluciones
Resultado de la operación de reanudación del marcador.
Ejemplos
En el ejemplo siguiente se crea un flujo de trabajo que usa una actividad de ReadLine
que crea un Bookmark. El flujo de trabajo se inicia y, una vez creado el Bookmark y el flujo de trabajo deja de estar inactivo, se recopila la entrada del usuario y se reanuda el marcador.
public sealed class ReadLine : NativeActivity<string>
{
[RequiredArgument]
public InArgument<string> BookmarkName { get; set; }
protected override void Execute(NativeActivityContext context)
{
// Create a Bookmark and wait for it to be resumed.
context.CreateBookmark(BookmarkName.Get(context),
new BookmarkCallback(OnResumeBookmark));
}
// NativeActivity derived activities that do asynchronous operations by calling
// one of the CreateBookmark overloads defined on System.Activities.NativeActivityContext
// must override the CanInduceIdle property and return true.
protected override bool CanInduceIdle
{
get { return true; }
}
public void OnResumeBookmark(NativeActivityContext context, Bookmark bookmark, object obj)
{
// When the Bookmark is resumed, assign its value to
// the Result argument.
Result.Set(context, (string)obj);
}
Variable<string> name = new Variable<string>();
Activity wf = new Sequence
{
Variables = { name },
Activities =
{
new WriteLine
{
Text = "What is your name?"
},
new ReadLine
{
BookmarkName = "UserName",
Result = new OutArgument<string>(name)
},
new WriteLine
{
Text = new InArgument<string>((env) =>
("Hello, " + name.Get(env)))
}
}
};
// Create a WorkflowApplication instance.
WorkflowApplication wfApp = new WorkflowApplication(wf);
// Workflow lifecycle events omitted except idle.
AutoResetEvent idleEvent = new AutoResetEvent(false);
wfApp.Idle = delegate(WorkflowApplicationIdleEventArgs e)
{
idleEvent.Set();
};
// Run the workflow.
wfApp.Run();
// Wait for the workflow to go idle before gathering
// the user's input.
idleEvent.WaitOne();
// Gather the user's input and resume the bookmark.
BookmarkResumptionResult result = wfApp.ResumeBookmark(new Bookmark("UserName"),
Console.ReadLine());
// Possible BookmarkResumptionResult values:
// Success, NotFound, or NotReady
Console.WriteLine("BookmarkResumptionResult: {0}", result);
Comentarios
El resultado del marcador indica si la operación de reanudación se realizó correctamente o no.
Se aplica a
ResumeBookmark(String, Object)
Inicia una operación para reanudar el marcador con el nombre especificado, utilizando el valor especificado. El marcador que se va a reanudar se crea previamente mediante una actividad dentro de la instancia de flujo de trabajo.
public:
System::Activities::BookmarkResumptionResult ResumeBookmark(System::String ^ bookmarkName, System::Object ^ value);
public System.Activities.BookmarkResumptionResult ResumeBookmark (string bookmarkName, object value);
member this.ResumeBookmark : string * obj -> System.Activities.BookmarkResumptionResult
Public Function ResumeBookmark (bookmarkName As String, value As Object) As BookmarkResumptionResult
Parámetros
- bookmarkName
- String
Nombre del marcador que se va a reanudar.
- value
- Object
Objeto pasado como parámetro al método que se invoca cuando se reanuda el marcador.
Devoluciones
Resultado de la operación de reanudación del marcador.
Ejemplos
En el ejemplo siguiente se crea un flujo de trabajo que usa una actividad de ReadLine
que crea un Bookmark. El flujo de trabajo se inicia y, una vez creado el Bookmark y el flujo de trabajo deja de estar inactivo, se recopila la entrada del usuario y se reanuda el marcador.
public sealed class ReadLine : NativeActivity<string>
{
[RequiredArgument]
public InArgument<string> BookmarkName { get; set; }
protected override void Execute(NativeActivityContext context)
{
// Create a Bookmark and wait for it to be resumed.
context.CreateBookmark(BookmarkName.Get(context),
new BookmarkCallback(OnResumeBookmark));
}
// NativeActivity derived activities that do asynchronous operations by calling
// one of the CreateBookmark overloads defined on System.Activities.NativeActivityContext
// must override the CanInduceIdle property and return true.
protected override bool CanInduceIdle
{
get { return true; }
}
public void OnResumeBookmark(NativeActivityContext context, Bookmark bookmark, object obj)
{
// When the Bookmark is resumed, assign its value to
// the Result argument.
Result.Set(context, (string)obj);
}
Variable<string> name = new Variable<string>();
Activity wf = new Sequence
{
Variables = { name },
Activities =
{
new WriteLine
{
Text = "What is your name?"
},
new ReadLine
{
BookmarkName = "UserName",
Result = new OutArgument<string>(name)
},
new WriteLine
{
Text = new InArgument<string>((env) =>
("Hello, " + name.Get(env)))
}
}
};
// Create a WorkflowApplication instance.
WorkflowApplication wfApp = new WorkflowApplication(wf);
// Workflow lifecycle events omitted except idle.
AutoResetEvent idleEvent = new AutoResetEvent(false);
wfApp.Idle = delegate(WorkflowApplicationIdleEventArgs e)
{
idleEvent.Set();
};
// Run the workflow.
wfApp.Run();
// Wait for the workflow to go idle before gathering
// the user's input.
idleEvent.WaitOne();
// Gather the user's input and resume the bookmark.
// Bookmark resumption only occurs when the workflow
// is idle. If a call to ResumeBookmark is made and the workflow
// is not idle, ResumeBookmark blocks until the workflow becomes
// idle before resuming the bookmark.
BookmarkResumptionResult result = wfApp.ResumeBookmark("UserName",
Console.ReadLine());
// Possible BookmarkResumptionResult values:
// Success, NotFound, or NotReady
Console.WriteLine("BookmarkResumptionResult: {0}", result);
Comentarios
El resultado del marcador indica si la operación de reanudación se realizó correctamente o no.