Лабораторная работа 5

Задание

WCF-сервис - калькулятор выражений.

Библиотека, написанная на C++, представленная в виде DLL, используется WCF как основа для вычислений. Реализует методы Add, Substract, Multiply, Divide.

У WCF-сервиса есть методы:

public double Set(double a);
public double Add(double a);
public double Substract(double a);
public double Multiply(double a);
public double Divide(double a);
public double Reset();
public double Result();

На вход дается выражение с цифрами и знаками. Необходимо делать разбор выражений в дерево классов Expression с LambdaExpression в качестве корня, а потом динамически компилировать это выражение в делегат, который выполняется и производит расчёт. Результат - на экран.

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

В итоге должно получиться 3 проекта:

  1. C++ библиотека с 4 методами (Add, Substract, Multiply, Divide),
  2. WCF-сервис,
  3. Клиент, которому на вход дается выражение в виде строки, и который на экран выводит результат вычислений.

Контрольные вопросы

  1. Рассказать, как происходит парсинг и вычисление значений выражений.
  2. Рассказать про endpoint в конфигурации подключения к WCF-сервису (атрибуты contract, binding, address).
  3. Показать и объяснить, как в сервисе происходит подключение DLL-библиотеки, написанной на C++.

results matching ""

    No results matching ""