Я пишу веб-службу для извлечения информации о счете из таблицы базы данных. Специфика заключается в следующем:
В качестве ввода и извлечения я намерен дать InvoiceAgentId
PayerId
, PayerName
, EffDate
и InvoiceAgentId
.
Теперь
1. В файле InvoiceInfoSearch.asmx.cs
у меня есть WebMethod
... GetInvoiceInfo
2. У меня есть DTO объекты InvoiceInfoRequest
и InvoiceInfoResponse
3. У меня есть класс менеджера BusinessLayer InvoiceSearchmanager
4. У меня есть DAL InvoiceInfoDAL
Правильно ли это «расслоение» моего веб-сервиса? Можно ли улучшить?
веб-метод в точке # 1 инстанцирует InvoiceSearchManager
класса и вызывает метод GetInvoiceInfo
в менеджере пропускания InvoiceInfoRequest
. Затем метод менеджер конкретизирует InvoiceInfoDAL
и вызывает метод GetInvoiceInfo
в DAL, передавая InvoiceInfoRequest
. В методе DAL InvoiceInfoResponse
создается и заполняется восстановленным набором записей, а затем распространяется обратно в веб-метод.
Мои вопросы:
1. Может обаInvoiceInfoRequest
и InvoiceInfoResponse
классы DTO имеют те же члены? В моем случае PayerId
, PayerName
, EffDate
и InvoiceAgentId
.
2. Правильно ли это наложение? Может ли это быть лучше?
Есть ли причина, по которой вы все еще используете веб-службы ASMX? Microsoft теперь считает их «унаследованными технологиями». –
Поверьте мне ... на моем предприятии больше наследия. Я тоже хочу ... и asmx - последний из моих участников :). Мы продолжаем двигаться в плане фреймворков ... но в целом стандарты кодирования по-прежнему многого требуют включения. – GilliVilla