/ / Чому погана практика повертати DataTables з сервісних операцій WCF? - wcf

Чому погана практика повернення DataTables з сервісних операцій WCF? - wcf

Я знаю, що кращим способом серіалізації складних типів у WCF є використання DataContracts, але чому це так?

Якщо я повертаю DataTable замість DataContract з моїх сервісних операцій, чи WCF використовує клас XmlSerializer замість DataContractSerializer за замовчуванням?

І нарешті, у цій темі: DataTable не приймається svcutil - службою WCF

Чи вважаєте ви, що проблема полягає в тому, що, повертаючи DataTable, типи CLR не відображають правильно визначення визначень схеми XSD?

Відповіді:

6 за відповідь № 1

Основна проблема використання DataTable у вашомудоговір на обслуговування - це не технічна проблема, а проблема дизайну. Якщо ваша послуга використовує DataTable в договорі, ви порушуєте принципи проектування SOA, використовуючи стандартизовані контракти та нещільне з'єднання.
Це тому, що якщо служба повертає таблицю даних,в договорі не вказано, які стовпці містять DataTable. Це змусить споживача послуг мати певні знання про внутрішню роботу постачальника послуг, що зробить систему щільно з'єднаною.