Legacy ASMX webservice - Как использовать автоматически сгенерированный асинхронный метод - PullRequest
1 голос
/ 31 января 2012

В веб-службе asmx, которую я использую с проектом библиотеки классов c #, после добавления веб-ссылки на проект, который предоставляет веб-методы внутри службы, существует несколько имен методов, например:

В моем сервисе у меня есть веб-метод с именем GetCategories, но значение intellisense также показывает GetCategoriesAsync

Это асинхронный вызов одного и того же веб-метода? Если да, то как я могу вызвать этот асинхронный метод, какие-либо примеры?

1 Ответ

1 голос
/ 31 января 2012

Вы можете вызывать метод так же, как вы вызываете обычный метод, вы также должны зарегистрировать функцию для события завершения метода, чтобы после ответа вы могли продолжить процесс.

это пример, который я нашел

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

Пример ссылки

...