![](/img/trans.png)
[英]C# How to make sure one async method executes after another async method
[英]Calling one method after another while using Async in one of the method in C#
執行objMy_HelloWorldCompleted
之后,我需要調用CallServiceCompleted()
方法。 當前,在執行objMy_HelloWorldCompleted
之前,將調用CallServiceCompleted。
protected void btnCheck_Click(object sender, EventArgs e) {
Task taskA = Task.Factory.StartNew(() => CallServices());
taskA.Wait();
//CallServices();
if(taskA.IsCompleted ) {
CallServiceCompleted();
}
}
private void CallServiceCompleted() {
lblServicesCompleted.Text = "Work Completed";
}
private void CallServices() {
myITSSEVR.myserv objMy = new myITSSEVR.myserv();
string s = "New Line";
objMy.HelloWorldCompleted += objMy_HelloWorldCompleted;
objMy.HelloWorldAsync(s);
}
void objMy_HelloWorldCompleted(object sender, myITSSEVR.HelloWorldCompletedEventArgs e) {
string s2 = (string)e.UserState;
lblName.Text = e.Result.ToString();
}
有Page.RegisterAsyncTask處理點擊事件:
protected void btnAsyncPostBack_Click(object sender, EventArgs e) {
RegisterAsyncTask(new PageAsyncTask(MyMethodAsync));
}
private async Task MyMethodAsync(object sender, EventArgs e, CancellationToken cancellationToken) {
var sum = await GetSumAsync();
lblMessage.Text = string.Format("Sum = {0}", sum);
}
鏈接到論壇主題。
還有關於StackOverflow的類似問題
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.