簡體   English   中英

在C#中的一種方法中使用Async時,依次調用一種方法

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM