Опубликован: 13.07.2010 | Доступ: свободный | Студентов: 891 / 20 | Оценка: 4.40 / 4.20 | Длительность: 77:34:00
Самостоятельная работа 30:

Web-службы

Упражнение 2. Создание простой Web-службы калькулятора

В данном упражнении мы создадим Web-службу и ее клиента, которые в совокупности будут имитировать работу простого калькулятора.

Создание Web-службы калькулятора

  • Добавьте к решению новый проект Web-службы командой File/Add/New Web Site, присвоив ему имя CalcWebService

  • Откорректируйте вновь созданный файл App_Em/ Service.cs так, чтобы были реализованы 4 простых метода, как показано в листинге
using System;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
    
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class Service : System.Web.Services.WebService
{
    // Сложить
    [WebMethod]
    public double Add(double x, double y) 
    {
        return x + y;
    }
    
    // Вычесть
    [WebMethod]
    public double Subtract(double x, double y)
    {
        return x - y;
    }
    
    // Умножить
    [WebMethod]
    public double Multiply(double x, double y)
    {
        return x * y;
    }
    
    // Разделить
    [WebMethod]
    public double Divide(double x, double y)
    {
        if (y == 0)
            throw new DivideByZeroException("Деление на ноль!");
        else
            return x / y;
    }
}
Листинг 19.7. Методы выполнения действий простого калькулятора Web-службы

Создание клиента Web-службы калькулятора

В качестве клиента Web-службы назначим форму Form2 и сформируем на ней соответствующий пользовательский интерфейс.

  • Откройте файл Form2.cs проекта WinApp в режиме View Designer и добавьте на форму компоненты пользовательского интерфейса в соответствии с таблицей, чтобы компоновка была такой


Таблица свойств формы Form2
Элемент Свойство Значение
Form Text Клиент калькулятора Web-службы
  FormBorderStyle FixedToolWindow
Label Name lblFirst
  Text Первое число:
  TextAlign MiddleRight
Label Name lblSecond
  Text Второе число:
  TextAlign MiddleRight
Label Name lblResult
  Text Результат:
  TextAlign MiddleRight
TextBox Name txtFirst
  Text пусто
TextBox Name txtSecond
  Text пусто
TextBox Name txtResult
  Text пусто
  ReadOnly True
  TabStop False
Button Name btnAdd
  Text +
  Font/Bold True
  Font/Size 10
  Size 30; 30
Button Name btnSubtract
  Text -
  Font/Name Courier New
  Font/Bold True
  Font/Size 10
  Size 30; 30
Button Name btnMultiply
  Text *
  Font/Name Courier New
  Font/Bold True
  Font/Size 10
  Size 30; 30
Button Name btnDivide
  Text :
  Font/Name Courier New
  Font/Bold True
  Font/Size 10
  Size 30; 30
Button Name btnExit
  Text Выход
  AutoSize True
  • Защитите интерфейс формы Form2 от случайных изменений, выполнив команду Format/Lock Controls меню оболочки