Я только что вышел из небольшого проекта с использованием веб-службы WCF / REST, которая использовала Entity Framework для доступа к базе данных, применила некоторую незначительную бизнес-логику и передала результаты в интерфейс .NET Webforms. Это сработало довольно хорошо, но первоначальный проект был составлен без большого количества времени для изучения вариантов, и теперь меня просят сделать еще один очень похожий проект. У меня есть немного больше времени, чтобы посмотреть, что там, и, возможно, сделать этот проект лучше, чем первый.
Я хочу выяснить, существуют ли более эффективные способы решения нескольких задач, в частности, передачи объектов назад и вперед между веб-службой и внешним интерфейсом.
Для первого проекта я создал общую библиотеку с определениями классов, которые использовались и веб-службой, и веб-сайтом. Когда в веб-службу поступил запрос, были выполнены запросы к БД, была применена бизнес-логика, а объект одного из общих типов был создан и передан обратно в ответ веб-службы.
Когда веб-сайт получил ответ, он десериализовал его в соответствующий общий объект и продолжил свой веселый путь.
Работало нормально, но нужно было написать много кода, чтобы определить общий объект, а затем отобразить результаты запроса / результаты бизнес-логики на общий объект.
Есть ли лучший способ? В частности, я ищу способ:
автоматически генерирует объекты. (Я не уверен, что есть - похоже, я мог бы автоматически генерировать объекты, которые были специально сопоставлены с объектами базы данных, такими как таблицы или представления (и действительно, это то, что делает Entity Framework), но как насчет объектов, которые должны включать информацию не из БД что-то вроде бизнес-логики?)
удалить требование для общей библиотеки между веб-службой и веб-сайтом. Я подозреваю, что это может существовать, но я даже не уверен, с чего начать.