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

时间:2012-01-31 06:28:53

标签: c# asp.net soap asynchronous asmx

在asmx webservice中,我使用c#类库项目将web引用添加到项目中,该项目在服务中公开WebMethods,有多个方法名称,例如,

在我的服务中,我有一个名为GetCategories的网络方法,但智能感知也显示GetCategoriesAsync

这是对同一webmethod的异步调用吗?如果是这样,我怎么能调用这个异步方法的任何例子?

1 个答案:

答案 0 :(得分:1)

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

这是我找到的一个例子

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

Example Link