Linq к объектам с WCF

Вы пытались использовать ниже?
yAxis: {majorGridLines: {color: "# aa00bb", ширина: 3, visible: false}}

5
задан uriDium 17 September 2010 в 13:34
поделиться

3 ответа

Мы создали отдельный проект с Доменными Классами объектов Передачи, которые служили Контрактами Данных для наших различных внутренних сервисов WCF. Мы затем совместно использовали проект контрактов с теми внутренними сервисами. У нас была одна услуга передачи данных; те методы перевели бы эти объекты области в объекты объекта перед/после того, как хранением/получением. Между тем внешние сервисы использовали стандартные прокси, сгенерированные от XSD и файлов WSDL, и перевели в общую доменную модель передачи.

Мы должны были сделать это, потому что контекст объекта еще не является портативным по WCF, к сожалению.

Некоторые соображения для Вашей ситуации:

  1. Если Ваше клиентское приложение является внешним к Вашей системе, оно ничего не должно знать о Вашем EDMX или его классах. Это должно только знать о Вашем WSDL и XSD.
  2. Если Ваше клиентское приложение является внутренним, то оно бесполезно пытаться совместно использовать классы объекта в EF v1, потому что оно не поддерживается правильно, еще. Необходимо передать больше, чем просто классы/объекты - Вам нужен контекст также, который поддерживает отслеживание изменений, и это не может быть сделано через WCF непосредственно прямо сейчас.
3
ответ дан 14 December 2019 в 13:51
поделиться

Если бы сервис WCF не использует его, для чего Вы хотели бы это? (Сам) сервис WCF просто для транспорта данных - подход "mex" для метаданных не совместно использует код, таким образом, Ваш MyClass2 был бы бессилен. Если Вы хотите, можно использовать совместное использование блока в клиенте, но я действительно не рекомендую это в этом случае; объекты EF в клиенте являются путаницей... (плюс он, не будет работать над легкими платформами как Silverlight, Клиентский Профиль, Компактная Платформа, и т.д.),

Другая опция является Услугами передачи данных ADO.NET; это работает по WCF, но дает Вам более LINQ-дружественный API, чем регулярный подход WCF - и любые объекты области, которые выставляет Ваша модель, должно быть доступным на контексте клиентских данных.

2
ответ дан 14 December 2019 в 13:51
поделиться

Если Вы хотите сделать это "надлежащий" путь, необходимо создавать специальные классы для сообщений, которые идут через провод, вместо того, чтобы пытаться снова использовать предприятия или объекты данных как сообщения. Значение в этом - то, что Вы затем свободны изменить свои предприятия и объекты данных, не волнуясь о контракте, который Вы выставили потребителям, изменяющимся. Каждое изменение в Вашем сервисе является немного более преднамеренным, так как это происходит независимо от изменений в данных и бизнес-логике.

Другой способ обработать это состоит в том, чтобы просто использовать svcutil (или "Добавьте сервисная ссылка...", хотя svcutil работает лучше на несколько сервисных конечных точек) генерировать все классы, которые клиент будет использовать вместо того, чтобы добавить ссылку на проект сервера. Тем путем единственные классы, которые будет когда-либо видеть Ваш клиент, являются теми подвергнутыми сервисом.

1
ответ дан 14 December 2019 в 13:51
поделиться
Другие вопросы по тегам:

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