Контракты WCF от платформы объекта?

Для вышеупомянутого вопроса я искал с документами CF и нашел решение.

ColdFusion имеет эти настройки для этого под [1 111] 'Настройки сервера' . Посмотрите ниже демонстрационного экрана.

enter image description here

По умолчанию, этот флаг не включен на ColdFusion, что означает, что мы можем способный создать приложение, не упоминая имя приложения на Application.cfc

, Но, если бы мы включили это средство флага, то мы не могли способный создать приложение без имени приложения. это бросает ошибку. Посмотрите ниже снимка экрана.

enter image description here

10
задан Weej 25 February 2009 в 14:56
поделиться

4 ответа

Вы могли пойти простым путем и использовать Услуги передачи данных ADO.NET.

1
ответ дан 4 December 2019 в 01:03
поделиться

Я рекомендую не возвратить Объекты непосредственно. К сожалению, Microsoft приняла решение включать определенные для реализации данные как часть DataContract для объектов. Это не будет взаимодействовать с другими платформами и является видом вещи, которая могла бы не взаимодействовать даже между версиями.NET.

Вместо этого я рекомендую, чтобы Вы следовали за шаблоном Объекта Передачи данных и просто возвратили ПОСТЕПЕННО классы, которые являются копиями данных в объектах без поведения. Можно возвратить Список таких классов для представления таблицы и т.д.

6
ответ дан 4 December 2019 в 01:03
поделиться

"Интерфейсы совместного использования и не тип" принцип предполагают, что Вы не владеете обоими концами провода, и/или Вы пишете общедоступный веб-сервис. WCF может использоваться (и используется) в контекстах, где это - решительно не случай. У многих предприятие n-tier архитектура есть уровень приложений, на Который WCF-выходят, для упрощения выравнивания нагрузки среди прочего. В этих случаях это совершенно допустимо для совместного использования типа и, на самом деле, желаемо.

3
ответ дан 4 December 2019 в 01:03
поделиться

Еще некоторая деталь в ответ на комментарии:

Существует несколько проблем с классами, сгенерированными EF. Я теперь смотрю на пример AdventureWorks с SalesOrderHeader и SalesOrderDetail. Объект SalesOrderDetail имеет оба свойства "SalesOrderHeader" и "SalesOrderHeaderReference", оба отмеченные как DataMembers. Это похоже на ошибку, так как свойство "SalesOrderHeader" также отмечено [XmlIgnore] и [SoapIgnore].

Кроме того, рассмотрите, хотите ли Вы сериализировать ссылку назад на родительский SalesOrderHeader во-первых. Кроме того, что точно должно быть сериализировано? SOAP не поддерживает ссылки совместимым способом.

Наконец, базовые классы объектов являются также контрактами данных. Все же они не имеют никакого отношения к данным, которые Вы возвращаете - они - просто артефакт реализации.

Короче говоря, Microsoft завинтила на этом. Они не продумывали его.

О способах генерировать классы DTO, я предлагаю изучить различные инструменты генерации кода, как CodeSmith. Можно написать код, чтобы сделать это сами; я сделал так в моем предыдущем положении. Хорошая вещь о генерации DTO состоит в том, что Вы также добираетесь для генерации методов для перевода в и от DTO.

Относительно издержек, издержки перемещения некоторых данных в памяти являются ничем по сравнению с количеством времени, которое это собирается занять для отправки данных по сети!

1
ответ дан 4 December 2019 в 01:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: