Кодеры, я занимаюсь разработкой/реализацией (да, оба в то же время) моего прототипа моей собственной CMS. Я использую Asp.net, WCF и Silverlight. До сих пор у меня есть следующая модель для моего проекта:Asp.net + Silverlight + WCF и n-уровневая архитектура
Presentation слой [Silverlight & Asp.net/html]> WCF> Бизнес-логика> База данных
Цель моей модели, чтобы сделать его легко СТЕПЕНИ приложения в будущем. Доступ к приложению будет возможен из любого приложения, которое может использовать мои службы WCF.
К сожалению, у меня есть некоторые трудности с реализацией моей модели. Мне кажется, что если у меня есть три проекта в моем решении:
Решение:
- -Asp.net [Уровень представления]
- -Silverlight [Уровень представления]
- -WCF [WCF и бизнес-логика]
Тогда мне придется дублировать многие классы как в слоях презентации, так и в моем слое WCF.
Вот сценарий: допустим, что у меня есть класс Post в моем WCF, который является реализацией моего BL. Я мог бы добавить новое сообщение из своего PL, создав экземпляр клиента моей ссылки на службу, используя строку, такую как client.AddPostAsync (параметры сообщения). Однако, если вы хотите получить объект Post в моем PL, вызвав метод WCF, тогда у меня уже будет реализация класса Post в моем PL, который является той же самой копией моего класса Post в моем WCF!
Таким образом, в конечном итоге, в конечном итоге, у меня будет много дубликатов классов как в моем слое WCF, так и в моем PL. Я чувствую, что есть что-то, чего я не понимаю, или, может быть, я что-то испортил в своей модели? Пожалуйста помоги!
Когда вы добавляете ссылку на службу в свой уровень презентации, она генерирует для вас все Контракты данных. Вам не нужно их снова определять. Если я что-то упустил, вы могли бы дать полный прототип метода вашего метода WCF? – Andrew 2010-11-24 06:32:31