Architecture Net или что такое Microsoft.NET?




Добавление функций в Web-службу на основе ATL Server

Вы, может быть, помните пример SimpleWebService из главы 11 "Web службы", всо-тором выполнялось сложение двух чисел Похожие возможности мы сейчас добавм в проект ATLServerWeb, только что созданный в этой главе Итак, мы добавим метод, к<го-рый принимает два целых параметра и возвращает их сумму Чтобы добавить ноую функцию, просто выполните указанную последовательность действий

  1. Откройте только что созданное решение ATLServerWeb sin
  2. В файл ATLServerWeb.h вставьте определение метода Add (Сложить) в инер-фейс lATLServerWebService, как показано полужирным шрифтом [В уже существующем методе HelloWorld значение диспетчерского идентификатора установленоэав-ным 1 В этом примере диспетчерские идентификаторы не используются но если вы очень хотите |ри-своить диспетчерский идентификатор новому методу Add (Сложить) то должны использовать слеую-щее доступное число, каким должно быть число 2].

_interface lATLServerWebService // интерфейс
{
// TODO: Add additional Web Service methods here
// TODO: Добавьте здесь дополнительные методы Web-службы
HKESULT Add( // Сложить
[in] long x, [in] long y, [out, retval] long *psum);
};

  1. В том же файле ATLServerWeb. h вставьте, как показано полужирным шрифтом, реализацию метода Add (Сложить) в класс CATLServerWebService

class CATLServerWebService :
public IATLServerWebService
{
public:
// TODO. Add additional Service methods here
// TODO: Добавьте здесь дополнительные методы Web-службы
[ soap_method ]
HRESULT Add(long x, long y, long *psum)
{
*psum = x + y;
return S_OK;
}
}; // класс CATLServerWebService

  1. Создайте проект [Перейдя в своем броузере по адресу http //localhost/ATLServerWeb/ ATLServerWeb dll"> Handler=GenATLServerWebwSDL, вы увидите, что появилась новая информация— о методе Add (Сложить)].

Теперь сервер готов для доступа к нему с любой клиентской программы, которая передает на сервер два целых параметра, а с него получает один параметр, и тоже целый