传统ASMX Web服务-如何使用自动生成的异步方法

本文关键字:何使用 自动生成 异步方法 ASMX Web 服务 传统 | 更新日期: 2023-09-27 18:21:53

在我与c#类库项目一起使用的asmx web服务中,在将web引用添加到公开服务内部WebMethods的项目后,有多个方法名称,例如

在我的服务中,我有一个名为GetCategories的Web方法,但intellisense也显示GetCategoriesAsync

这是对同一web方法的异步调用吗?如果是这样的话,我该如何调用这个异步方法呢?

传统ASMX Web服务-如何使用自动生成的异步方法

您可以像调用常规方法一样调用该方法,还应该向方法完成事件注册一个函数,以便在收到响应后可以继续该过程。

这是我发现的一个例子

protected void Button1_Click
(object sender, EventArgs e)
{
     BookSupplier1.WebService1 supplier1 = new BookSupplier1.WebService1();
     supplier1.GetCostCompleted += new BookSupplier1.GetCostCompletedEventHandler(supplier1_GetCostCompleted);
     supplier1.GetCostAsync(TextBox1.Text, BulletedList1);
}

void supplier1_GetCostCompleted(object sender, BookSupplier1.GetCostCompletedEventArgs e)
{
     if (e.Error != null)
     {
         throw e.Error;
     }
     BulletedList list = (BulletedList)e.UserState;
     list.Items.Add("Quote from BookSupplier1 : " + e.Result.ToString("C"));
}

链接示例

相关文章: