Architecture Net



         

Классы-заместители - часть 2



new object[] {x, y}); return ((int)(results[0]));
}
public System.lAsyncResult BeginAddfint x, int y,
System.AsyncCallback callback, object asyncState)
{
return this.Beginlnvoke("Add",
new object[] {x, y}, callback, asyncState);
}
public int EndAdd(System.lAsyncResult asyncResult)
{
object[] results = this.Endlnvoke(asyncResult) ;
// результаты
return ( (int) (results [0]));
}
}

Немного раньше мы показали, как получить доступ к Web-службе с помощью броузера. Вызов Web-службы с помощью броузера может оказаться полезным на этапе тестирования приложения. Но, как правило, Web-служба взаимодействует со специально разработанной для этого клиентской программой. Можно написать клиентскую программу, которая будет отсылать запрос Web-службе, используя созданные нами классы-заместители. В каталоге SimpleWebService\SimpleAddClient расположен файл Main, cs с кодом клиентской программы. Клиент реализован на языке С#. Язык С# выбран только из соображений удобства, ведь ранее созданные нами классы-заместители также написаны на С#. Клиентская программа отсылает запрос Web-службе. Web-служба вычисляет результат сложения 1 и 2, и возвращает значение 3, которое отображается в окне, представляющем консоль клиентской программы.

public class AddClient
// общедоступный класс AddClient
{
public static void Main(string[] args)
{
Test 2 = new Test();
long f = z.Addd, 2) ;
Console.WriteLine(f) ;
return;
}
}

Смешивать в одном модуле языки С# и C++ нельзя. Если же вы пишите код клиентской программы на C++, его затем нужно скомпилировать и создать выполняемую сборку. Далее следует скомпилировать класс-заместитель, сгенерированный на С#, в результате чего будет получена отдельная сборка (динамически связываемая библиотека (DLL)). Таким образом, чтобы получить доступ к Web-службе, клиентская программа, написанная на C++, использует класс-заместитель, написанный на С#. Мы проиллюстрируем вышеизложенное позже в примере Arithmetic (Арифметика).

CompEbook.ru Железо, дизайн, обучение и другие




Содержание  Назад  Вперед