Разработка вызовов веб-сервисов, которые читают / пишут из базы данных - PullRequest
0 голосов
/ 28 ноября 2010

Извинения за вопрос веб-службы новичка -

Я пытаюсь создать веб-сервис, в котором есть список методов для чтения / записи в базу данных. Пример функции будет иметь форму -

CreateNewEmployee(string username, string employeeid, string deptname)

Я создал веб-сервис в .net (asmx), который имеет вышеупомянутый веб-метод. В этом я открываю соединение с базой данных и делаю вставку в базу данных, а затем закрываю соединения. Это правильный способ оформления вызова веб-службы?

Должен ли я вместо этого передавать объект вместо нескольких параметров?

Есть ли какие-либо указания на лучшие практики при попытке создать веб-сервис, который записывает данные в базу данных?

Для добавления дополнительной информации

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

Спасибо, Nate

Ответы [ 2 ]

0 голосов
/ 28 ноября 2010

Цитирование из победившего ответа на этот вопрос SO :

Веб-службы - абсолютно ужасный выбор для доступа к данным. Это тонна накладных расходови сложность для почти нулевой выгоды.

Вы можете прочитать остальную часть обсуждения там.

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

Это очень распространенная практика на крупных предприятиях, где многие приложения бэк-офиса имеют общие функции.,Он используется не только для доступа к данным, но и для других сервисов, таких как регистрация и аутентификация / авторизация.Некоторые подразделения создают набор этих библиотек DLL, которые они называют своей «структурой».Это гарантирует, что каждое приложение будет иметь одинаковую функциональность и одинаковую бизнес-логику, и что существует единственное место для внесения изменений, которые затронут все приложения.Это аналогично преимуществам использования веб-служб, но позволяет избежать накладных расходов и снижения производительности веб-служб.

0 голосов
/ 28 ноября 2010

Да - передать объекты в сравнении с большими наборами параметров. Кроме того, рассматривали ли вы WCF, если вы находитесь в среде .Net? Если вы посмотрите на то, как работает ADO.Net Data Services (ранее Astoria), это укажет вам правильное направление.

...