Partilhar via


WorkflowApplication.ResumeBookmark Método

Definição

Inicia uma operação para retomar um indicador.

Sobrecargas

ResumeBookmark(String, Object, TimeSpan)

Inicia uma operação para retomar o indicador com o nome especificado, usando o valor especificado e o intervalo de tempo limite. O indicador a ser retomado é criado anteriormente por uma atividade dentro da instância do fluxo de trabalho.

ResumeBookmark(Bookmark, Object, TimeSpan)

Inicia uma operação para retomar o indicador especificado, usando o valor especificado e o intervalo de tempo limite. O indicador a ser retomado é criado anteriormente por uma atividade dentro da instância do fluxo de trabalho.

ResumeBookmark(Bookmark, Object)

Inicia uma operação para retomar o indicador especificado, usando o valor especificado. O indicador a ser retomado é criado anteriormente por uma atividade dentro da instância do fluxo de trabalho.

ResumeBookmark(String, Object)

Inicia uma operação para retomar o indicador com o nome especificado, usando o valor especificado. O indicador a ser retomado é criado anteriormente por uma atividade dentro da instância do fluxo de trabalho.

ResumeBookmark(String, Object, TimeSpan)

Inicia uma operação para retomar o indicador com o nome especificado, usando o valor especificado e o intervalo de tempo limite. O indicador a ser retomado é criado anteriormente por uma atividade dentro da instância do fluxo de trabalho.

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

O nome do indicador a ser retomado.

value
Object

Um objeto passado como um parâmetro para o método que é invocado quando o indicador é retomado.

timeout
TimeSpan

O intervalo de tempo durante o qual o indicador deve ser retomado.

Retornos

O resultado da operação de retomada do indicador.

Exemplos

O exemplo a seguir cria um fluxo de trabalho que usa uma atividade de ReadLine que cria um Bookmark. O fluxo de trabalho é iniciado e, depois que o Bookmark é criado e o fluxo de trabalho fica ocioso, a entrada do usuário é coletada e o indicador é retomado.

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);

Comentários

O resultado do indicador indica se a operação de retomada foi bem-sucedida ou falhou.

Aplica-se a

ResumeBookmark(Bookmark, Object, TimeSpan)

Inicia uma operação para retomar o indicador especificado, usando o valor especificado e o intervalo de tempo limite. O indicador a ser retomado é criado anteriormente por uma atividade dentro da instância do fluxo de trabalho.

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

O indicador a ser retomado.

value
Object

Um objeto passado como um parâmetro para o método que é invocado quando o indicador é retomado.

timeout
TimeSpan

O intervalo de tempo durante o qual o indicador deve ser retomado.

Retornos

O resultado da operação de retomada do indicador.

Exemplos

O exemplo a seguir cria um fluxo de trabalho que usa uma atividade de ReadLine que cria um Bookmark. O fluxo de trabalho é iniciado e, depois que o Bookmark é criado e o fluxo de trabalho fica ocioso, a entrada do usuário é coletada e o indicador é retomado.

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);

Comentários

O resultado do indicador indica se a operação de retomada foi bem-sucedida ou falhou.

Aplica-se a

ResumeBookmark(Bookmark, Object)

Inicia uma operação para retomar o indicador especificado, usando o valor especificado. O indicador a ser retomado é criado anteriormente por uma atividade dentro da instância do fluxo de trabalho.

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

O indicador a ser retomado.

value
Object

Um objeto passado como um parâmetro para o método que é invocado quando o indicador é retomado.

Retornos

O resultado da operação de retomada do indicador.

Exemplos

O exemplo a seguir cria um fluxo de trabalho que usa uma atividade de ReadLine que cria um Bookmark. O fluxo de trabalho é iniciado e, depois que o Bookmark é criado e o fluxo de trabalho fica ocioso, a entrada do usuário é coletada e o indicador é retomado.

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);

Comentários

O resultado do indicador indica se a operação de retomada foi bem-sucedida ou falhou.

Aplica-se a

ResumeBookmark(String, Object)

Inicia uma operação para retomar o indicador com o nome especificado, usando o valor especificado. O indicador a ser retomado é criado anteriormente por uma atividade dentro da instância do fluxo de trabalho.

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

O nome do indicador a ser retomado.

value
Object

Um objeto passado como um parâmetro para o método que é invocado quando o indicador é retomado.

Retornos

O resultado da operação de retomada do indicador.

Exemplos

O exemplo a seguir cria um fluxo de trabalho que usa uma atividade de ReadLine que cria um Bookmark. O fluxo de trabalho é iniciado e, depois que o Bookmark é criado e o fluxo de trabalho fica ocioso, a entrada do usuário é coletada e o indicador é retomado.

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);

Comentários

O resultado do indicador indica se a operação de retomada foi bem-sucedida ou falhou.

Aplica-se a