Книга: ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание
Создание приложения клиента
Создание приложения клиента
Теперь, когда вы лучше понимаете внутреннюю композицию генерируемого агента, давайте попытаемся его использовать. Создайте новое консольное приложение с именем CalculatorClient, добавьте в проект файл proxy.cs с помощью выбора Project?Add Existing Item из меню и добавьте ссылку на компоновочный блок System.Web.Services.dll. Затем измените метод Main() так, как предлагается ниже.
class Program {
static void Main(string[] args) {
Console.WriteLine("***** Забавы c агентами WS *****n");
// Создание агента.
CalculatorWebService ws = new CalculatorWebService();
// Синхронный вызов метода Add().
Console.WriteLine("10 + 10= {0}", ws.Add(10, 10));
// Асинхронный вызов метода Subtract с помощью
// нового подхода .NET 2.0 на основе событий.
ws.SubtractCompleted += new SubtractCompleteEventHandler(ws_SubtractCompleted);
ws.SubtractAsync(50, 45);
// Продолжение работы консоли для гарантии получения
// результата вычитания.
Console.RеаdLine();
}
static void ws_SubtractCompleted(object sender, SubtractCompletedEventArgs e) {
Console.WriteLine("Baш ответ: {0} ", e.Result);
}
}
Обратите внимание на то, что новая логика асинхронного вызова в .NET 2.0 непосредственно отображается в синтаксис событий C#, который, согласитесь, является более аккуратным по сравнению с использованием методов BeginXXX()/EndXXX(), интерфейса IAsyncResult и делегата AsyncCallback.
Исходный код. Проект CalculatorClient размещен в подкаталоге, соответствующем главе 25.
- Создание приложения-клиента в C#
- Создание, подключение и именование каналов и почтовых ящиков
- Приложения
- Создание компоновочного блока клиента
- Лекция 17. Приложения, базирующиеся на PKI
- Встроенные приложения Firebird
- Создание и использование одномодульных компоновочных блоков
- Создание приложения-клиента в Visual Basic .NET
- Аватар идеального клиента
- Создание файлов с блокировкой
- Создание свободно позиционируемых элементов
- Определение версии клиента