WorkflowApplication.ResumeBookmark 方法
定义
启动操作以恢复书签。Initiates an operation to resume a bookmark.
重载
| ResumeBookmark(String, Object, TimeSpan) |
使用指定的值和超时间隔启动操作以恢复具有指定名称的书签。Initiates an operation to resume the bookmark with the specified name, using the specified value and time-out interval. 要恢复的书签是此前由工作流实例内的活动创建的。The bookmark to be resumed is previously created by an activity within the workflow instance. |
| ResumeBookmark(Bookmark, Object, TimeSpan) |
使用指定的值和超时间隔启动操作以恢复指定的书签。Initiates an operation to resume the specified bookmark, using the specified value and time-out interval. 要恢复的书签是此前由工作流实例内的活动创建的。The bookmark to be resumed is previously created by an activity within the workflow instance. |
| ResumeBookmark(Bookmark, Object) |
使用指定的值启动操作以恢复指定的书签。Initiates an operation to resume the specified bookmark, using the specified value. 要恢复的书签是此前由工作流实例内的活动创建的。The bookmark to be resumed is previously created by an activity within the workflow instance. |
| ResumeBookmark(String, Object) |
使用指定的值启动操作以恢复具有指定名称的书签。Initiates an operation to resume the bookmark with the specified name, using the specified value. 要恢复的书签是此前由工作流实例内的活动创建的。The bookmark to be resumed is previously created by an activity within the workflow instance. |
ResumeBookmark(String, Object, TimeSpan)
使用指定的值和超时间隔启动操作以恢复具有指定名称的书签。Initiates an operation to resume the bookmark with the specified name, using the specified value and time-out interval. 要恢复的书签是此前由工作流实例内的活动创建的。The bookmark to be resumed is previously created by an activity within the workflow instance.
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
参数
- bookmarkName
- String
要恢复的书签的名称。The name of the bookmark to be resumed.
- value
- Object
作为参数传递给书签恢复时所调用的方法的对象。An object passed as a parameter to the method that is invoked when the bookmark resumes.
- timeout
- TimeSpan
必须在此期间恢复书签的时间间隔。The time interval during which the bookmark must be resumed.
返回
书签恢复操作的结果。The result of the bookmark resumption operation.
示例
下面的示例创建一个使用 ReadLine 活动的工作流,该活动创建一个 Bookmark。The following example creates a workflow that uses a ReadLine activity that creates a Bookmark. 该示例启动工作流,一旦创建了 Bookmark 并且工作流进入空闲状态,就收集用户输入并恢复书签。The workflow is started, and once the Bookmark is created and the workflow goes idle, the user's input is gathered and the bookmark is resumed.
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);
注解
书签结果指示恢复操作是成功还是失败。The bookmark result indicates whether the resumption operation succeeded or failed.
适用于
ResumeBookmark(Bookmark, Object, TimeSpan)
使用指定的值和超时间隔启动操作以恢复指定的书签。Initiates an operation to resume the specified bookmark, using the specified value and time-out interval. 要恢复的书签是此前由工作流实例内的活动创建的。The bookmark to be resumed is previously created by an activity within the workflow instance.
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
参数
- bookmark
- Bookmark
要恢复的书签。The bookmark to resume.
- value
- Object
作为参数传递给书签恢复时所调用的方法的对象。An object passed as a parameter to the method that is invoked when the bookmark resumes.
- timeout
- TimeSpan
必须在此期间恢复书签的时间间隔。The time interval during which the bookmark must be resumed.
返回
书签恢复操作的结果。The result of the bookmark resumption operation.
示例
下面的示例创建一个使用 ReadLine 活动的工作流,该活动创建一个 Bookmark。The following example creates a workflow that uses a ReadLine activity that creates a Bookmark. 该示例启动工作流,一旦创建了 Bookmark 并且工作流进入空闲状态,就收集用户输入并恢复书签。The workflow is started, and once the Bookmark is created and the workflow goes idle, the user's input is gathered and the bookmark is resumed.
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);
注解
书签结果指示恢复操作是成功还是失败。The bookmark result indicates whether the resumption operation succeeded or failed.
适用于
ResumeBookmark(Bookmark, Object)
使用指定的值启动操作以恢复指定的书签。Initiates an operation to resume the specified bookmark, using the specified value. 要恢复的书签是此前由工作流实例内的活动创建的。The bookmark to be resumed is previously created by an activity within the workflow instance.
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
参数
- bookmark
- Bookmark
要恢复的书签。The bookmark to resume.
- value
- Object
作为参数传递给书签恢复时所调用的方法的对象。An object passed as a parameter to the method that is invoked when the bookmark resumes.
返回
书签恢复操作的结果。The result of the bookmark resumption operation.
示例
下面的示例创建一个使用 ReadLine 活动的工作流,该活动创建一个 Bookmark。The following example creates a workflow that uses a ReadLine activity that creates a Bookmark. 该示例启动工作流,一旦创建了 Bookmark 并且工作流进入空闲状态,就收集用户输入并恢复书签。The workflow is started, and once the Bookmark is created and the workflow goes idle, the user's input is gathered and the bookmark is resumed.
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);
注解
书签结果指示恢复操作是成功还是失败。The bookmark result indicates whether the resumption operation succeeded or failed.
适用于
ResumeBookmark(String, Object)
使用指定的值启动操作以恢复具有指定名称的书签。Initiates an operation to resume the bookmark with the specified name, using the specified value. 要恢复的书签是此前由工作流实例内的活动创建的。The bookmark to be resumed is previously created by an activity within the workflow instance.
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
参数
- bookmarkName
- String
要恢复的书签的名称。The name of the bookmark to be resumed.
- value
- Object
作为参数传递给书签恢复时所调用的方法的对象。An object passed as a parameter to the method that is invoked when the bookmark resumes.
返回
书签恢复操作的结果。The result of the bookmark resumption operation.
示例
下面的示例创建一个使用 ReadLine 活动的工作流,该活动创建一个 Bookmark。The following example creates a workflow that uses a ReadLine activity that creates a Bookmark. 该示例启动工作流,一旦创建了 Bookmark 并且工作流进入空闲状态,就收集用户输入并恢复书签。The workflow is started, and once the Bookmark is created and the workflow goes idle, the user's input is gathered and the bookmark is resumed.
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);
注解
书签结果指示恢复操作是成功还是失败。The bookmark result indicates whether the resumption operation succeeded or failed.