Цитирование из победившего ответа на этот вопрос SO :
Веб-службы - абсолютно ужасный выбор для доступа к данным. Это тонна накладных расходови сложность для почти нулевой выгоды.
Вы можете прочитать остальную часть обсуждения там.
Редактировать : Один отличный подход к наличию общей функциональности доступа к даннымкоторые могут совместно использоваться несколькими приложениями - веб, рабочим столом, сервисом - это создать проект Visual Studio, который компилируется в DLL .Каждое решение, которое хочет использовать функциональные возможности доступа к данным, ссылается на DLL, которую можно развернуть в GAC или каком-либо другом центральном месте или просто добавить в папку bin проекта.В качестве альтернативы, чтобы иметь возможность пошагово проходить через код доступа к данным, к решению может быть добавлен проект доступа к данным.
Это очень распространенная практика на крупных предприятиях, где многие приложения бэк-офиса имеют общие функции.,Он используется не только для доступа к данным, но и для других сервисов, таких как регистрация и аутентификация / авторизация.Некоторые подразделения создают набор этих библиотек DLL, которые они называют своей «структурой».Это гарантирует, что каждое приложение будет иметь одинаковую функциональность и одинаковую бизнес-логику, и что существует единственное место для внесения изменений, которые затронут все приложения.Это аналогично преимуществам использования веб-служб, но позволяет избежать накладных расходов и снижения производительности веб-служб.