Есть ли способ использовать веб-сервис (WCF) ВНУТРИ веб-приложения? - PullRequest
1 голос
/ 11 августа 2010

Есть ли экономическое обоснование для использования WCF WITHIN в вашем веб-приложении (ASP.NET/SQL Server)?

Я не говорю о службе, которая будет использоваться другими,а скорее сервис, который будет использоваться внутри веб-приложения.Пока единственное использование для веб-сервисов WITHIN веб-приложения, которое я придумал, - это когда мне нужно вызвать базу данных из клиента (через AJAX).

Пожалуйста, не давайтемне урок копирования / вставки на веб-сервисах, все, что я ищу, это БЕТОННЫЙ ПРИМЕР WCF, приносящий пользу веб-приложению , и НЕ другие приложения, потребляющие услуги.

Быстрое разъяснение: под "веб-приложением" я имею в виду автономную разновидность CRM.Он много делает, но не общается с какими-либо внешними приложениями / базами данных и не должен иметь точки обслуживания, открытые для использования другими приложениями.

Ответы [ 3 ]

1 голос
/ 11 августа 2010

Я думаю, что это очень сильно зависит от того, как вы определяете «приложение».

Если вы говорите об одном веб-приложении, то за исключением предоставления данных ajax, как вы уже заметили, япытаясь придумать общую причину, по которой вы хотели бы, чтобы веб-служба (тем более для WCF) представляла собой просто открытый API, и если вы находитесь в приложении, несомненно, было бы лучше (во всех смыслах)переходите прямо к API без дополнительных затрат на упаковку и распаковку вызовов и данных, что в значительной степени избыточно.

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

1 голос
/ 11 августа 2010

Один конкретный пример из моей практики: на одном веб-сайте мы активно используем таблицы, которые реализованы в отношении плагина jqGrid для jQuery. Содержимое сеток будет загружено в ajax. Таким образом, большинство страниц веб-сайта очень просты и имеют четкий код XHTML. Бизнес-логика с интерфейсом к базе данных находится внутри службы WCF. Внутри службы WCF мы получаем данные также из других информационных хранилищ организации. Точно так же, если позже понадобится информация от нашего проекта, служба WCF будет безупречна.

Таким образом, использование WCF WITHIN в нашем веб-приложении помогает архивировать понятный интерфейс, очищать бизнес-логику от разметки HTML и улучшать тестируемость (с помощью встроенных тестов в Visual Studio).

1 голос
/ 11 августа 2010

У нас есть служба Windows, которая собирает живые данные из Интернета. Поскольку данные эфемерны (они действительно действительны только около 3 минут), нет смысла записывать их в базу данных. Для извлечения данных служба Windows предлагает интерфейс WCF (транспорт TCP), который доступен только веб-серверу, с которого наше веб-приложение запрашивает данные.

...