2016-03-04 3 views
0

У меня есть унаследованная система сервер-клиент, которая использует Microsoft WCF. В проекте ServiceClient имеется служебная ссылка на проект службы. Но ServiceClient также имеет «нормальную» ссылку на проект службы. В моем opionen это разрушает полную архитектуру сервер-клиент, потому что клиент имеет ссылку на класс Service, но мой коллега означает, что это должно быть сделано таким образом. Есть ли причина иметь ссылку на службу и ссылку на тот же проект?Ссылка на службу WCF и ссылка на тот же проект

ответ

1

Вы правы, нет веских оснований для этого. Но я уверен, что есть «причины» для добавления такой ссылки (скорее всего, из-за плохого структурирования решений).

Классы, которые действительно необходимы как на стороне клиента, так и на стороне сервера, должны быть выделены в отдельный проект (как правило, он содержит объекты передачи данных и служебный интерфейс). Класс обслуживания (который реализует сервисный интерфейс) остается в специальном проекте на стороне сервера. Клиенту не следует заботиться о его реализации или зависимостях - ему просто нужен интерфейс.

Поэтому я бы рекомендовал реорганизовать ваш Сервисный проект, чтобы разделить его.

+0

Хорошо, спасибо, именно то, что я ему сказал. Причина в этом случае заключается в том, что в проекте сервиса есть несколько классов, которые, как вы сказали, должны быть в отдельном проекте. – Pinzi

+1

Эти общие и общие элементы обычно помещаются в [контракт] (https://msdn.microsoft.com/en-us/library/ff183866.aspx). – khlr

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