2014-10-20 4 views
0

Мне нужна совет по использованию WCF или DLL в моей программе. Я разрабатываю программу, которая будет Desktop App и веб-приложение. Архитектура - многоуровневая. Что я должен делать в слое Bussiness, должен ли я просто сделать это как пространство имен и построить его как dll, а затем в своем приложении для настольных компьютеров и в веб-приложении. Я добавляю ссылку на эту DLL или должен ли я сделать бизнес-уровень веб-сервисом, тогда я может использоваться в моих приложениях. Что я должен учитывать при использовании веб-службы вместо dll.Должен ли я использовать WCF вместо DLL в C#

+0

Если вы хотите большую гибкость, поставить бизнес-логику в библиотеку классов (DLL). Затем, когда/если вам нужна услуга, вы можете написать ее как оболочку вокруг существующей библиотеки DLL. – Tim

ответ

0

Только для начала вы можете создать одно решение, которое включает в себя:

  • Бизнес-логика проекта
  • Web проект App
  • проект Desktop

Web проект App и проект Desktop будет просто обратитесь к проекту бизнес-логики. Затем (при необходимости) вы можете продолжать разделять бизнес-логический проект, например. Проект доступа к данным, проект уровня обслуживания и т. Д.

Тогда, если вы почувствуете, что вам нужна «настоящая» служба WCF, было бы легко создать ее из вашей развязанной архитектуры.

+0

спасибо за ваш ответ, но это не то, что я спросил. Я хорошо понимаю структуру программного обеспечения, но мой вопрос заключается в том, что я должен учитывать при выборе между dll и веб-сервисом. – nhattran

+0

Я думаю, что это все о том, кто является потребителями этой WCF/dll. Если вы заранее знаете, что будет несколько потребителей (которые захотят потреблять услуги через сеть), то WCF может быть естественным выбором. Если нет (пока) потребителей, кроме вас самих, и вам не нужны трудности с сетевыми подключениями, брандмауэрами и т. Д., Тогда DLL может быть естественным выбором. Это нормально начинать с простого (но развязанного) решения, а затем развивать его до WCF, если это необходимо. – ialekseev

0

Вы должны использовать успокоительное обслуживание как HTTP WebAPI, который имеет широкий охват клиентов

Смежные вопросы