Я знаю, что были похожие вопросы по этой теме, но я не был полностью уверен, что они решали ту же проблему. Поэтому просто чтобы быть ясным ...Предоставление существующих бизнес-объектов в WCF
У меня есть существующая библиотека классов, которая имеет пространства имен для типов, бизнес-логики и доступа к данным. Классы в пространствах имен логических данных и доступа к данным являются статическими и имеют базовые методы crud для заполнения экземпляров типа данными или получения экземпляров типов, которые уже заполнены и вставляются или обновляются в базе данных.
Теперь, помимо существующих приложений, которые ссылаются на эту библиотеку напрямую, я хочу также создать службу WCF, чтобы другие приложения могли использовать объекты и методы таким образом.
Каждый посетитель WCF, который я вижу, создает объекты домена в проекте службы, но я не хочу, чтобы мои объекты были определены в двух местах.
Поэтому я думал, что могу ссылаться на сериализацию в существующей библиотеке классов и отмечать классы классов как [DataContract] и свойства как [DataMember]. Затем в проекте WCF создайте интерфейсы [ServiceContract] с методами [OperationContract] для соответствия статическим логическим классам и методам из существующей библиотеки, которую я хочу открыть. Затем из проекта WCF ссылайтесь на существующую библиотеку классов и реализуйте интерфейсы WCF, используя в ней методы, которые вызывают существующие библиотечные логические методы, которые возвращают существующие типы библиотек.
Это хороший образец?
Thanks Max. На самом деле я не упоминал об этом, но одна из вещей, которые я пытаюсь сделать, - это не отправлять библиотеку потребителям услуги. –