Прежде всего, это мой первый вопрос о переполнении стека, поэтому приносим извинения заранее, если я ошибаюсь!WCF Data Services Как добавить бизнес-логику или использовать существующие объекты CSLA
Я работаю над созданием конечной точки службы для базы данных CRM, используемой внутри. Некоторые приложения хотят читать и записывать в эту базу данных, поэтому разоблачение службы WCF представляется наилучшим подходом.
Я начал использовать платформу Entity Framework для ORM, CSLA для уровня бизнес-логики и стандартную службу WCF для связи с клиентскими приложениями. Все шло хорошо, пока я не взглянул на службы данных WCF и не соблазнился прекрасным интерфейсом REST, простотой потребления клиентами AJAX и радостью использования новых технологий!
Теперь я заменил большие части служб WCF единой службой данных WCF, которая напрямую подвергает модель Entity Framework, минуя уровень CSLA. Это отлично работает для операций только для чтения, но я не могу выполнять другие функции CRUD без какой-либо бизнес-логики.
Я занимаюсь перехватчиками, и я могу, конечно, поместить в него бизнес-логин, но я действительно хочу перехватить операцию POST/Add, сопоставить значения с соответствующим классом CSLA BusinessBase, и пусть это сделает всю проверку и окончательное сохранение в базе данных. Я пробовал это, и пока объект CSLA работает по назначению, базовая инфраструктура службы данных WCF также сохраняет свою версию, поэтому я получаю две записи в db.
поэтому у меня есть несколько вопросов:
1) Могу ли я полностью перехватывают запрос на изменение, пусть мои собственные бизнес-объекты ручки тогда отменить службы данных WCF, не бросать исключение?
2) Есть ли лучший/стандартный подход к добавлению слоев бизнес-логики в стек службы данных WCF? Я пока не смог найти его.
Спасибо заранее,
Dave