У меня есть три проекта:WCF Business Objects или DataContracts
- проект службы WCF (интерфейс и реализация) веб-проект
- ASPX (клиент), который потребляет службы WCF
- библиотека классов проект, который держит мой бизнес-объекты (совместно используемые как проектом WCF, так и клиентом)
У меня есть метод в файле класса реализации службы WCF, который извлекает общий список данных из SQL (ссылаясь на проект, который содержит бизнес-объекты), сериализуйте данные с помощью System.Web.Script.Serialization.JavaScriptSerializer и верните результат в виде строки.
Веб-клиент принимает эту строку и преобразовывает его в соответствующий бизнес-объекта (ссылки на проект, который содержит бизнес-объекты)
Это приложение интранета, и я хочу, чтобы убедиться, что я делаю это правильно.
Мои вопросы:
- Должен ли я использовать DataContracts вместо бизнес-объектов? Не уверен, когда использовать DataContracts и когда использовать бизнес-объекты.
- Если я использую DataContracts, не следует ли использовать System.Web.Script.Serialization.JavaScriptSerializer?
Любые разъяснения были бы оценены.
Благодарим за отзыв. Некоторые вопросы к вашему ответу: – alpha
«Не используйте бизнес-объекты, если вам необходимо настроить их сериализацию» - я не украшаю свой класс каким-либо типом сериализации, кроме класса обслуживания, где я сериализую его в System. Web.Script.Serialization.JavaScriptSerializer. Что вы подразумеваете под «массовым настройкой их сериализации». – alpha
Кроме того, поскольку бизнес-объекты выглядят как datacontracts, и они будут использоваться для полного раздувания бизнес-объектов, тогда похоже, что я могу использовать бизнес-объекты в этом случае. Я не собираюсь использовать DataContracts. Просто хотел подтвердить. Я видел сайты, на которых они рекомендуют использовать как бизнес-объекты, так и datacontract и использовать automapper для сопоставления двух. – alpha