Как повторно использовать сервисный уровень в WCF и стандартных сценариях ASP.NET - PullRequest
0 голосов
/ 10 сентября 2010

Я хотел бы иметь возможность создавать стандартную службу POCO, которую я могу использовать в двух разных рабочих процессах:

  1. внутри процесса, т.е. используется моим приложением ASP.NET для веб-форм
  2. удаленно через открытую конечную точку WCF для использования другими приложениями

Есть ли способ повторно использовать один и тот же сервис и его возвращаемые типы данных в обоих вышеописанных сценариях? В идеале, мой основной сервис и типы данных не должны были бы быть украшены специфическими атрибутами WCF, и я мог бы добавить эти атрибуты в некоторый вид фасадного слоя WCF.

Спасибо!

1 Ответ

1 голос
/ 10 сентября 2010

Начиная с .NET 3.5 вам не нужно украшать ваши объекты данных атрибутами WCF (DataContract, DataMember). Если вы не используете их, будет использоваться сериализация по умолчанию - все свойства с общедоступными методами получения и установки будут сериализованы (также класс должен иметь открытый конструктор без параметров).

Общий уровень «сервис» работает точно так, как вы описали. Вы создаете слой бизнес-сервисов, который предоставляет функциональность. Эта функциональность используется внутри приложения ASP.NET. Затем вы создаете слой-обертку, который помечается атрибутами, связанными с WCF, и предоставляется как служба WCF. Ваш уровень WCF может рассматриваться как фасад и объединять несколько бизнес-вызовов в один вызов веб-службы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...